Programming with event loops and control loops – From actors to agents
Event loops are a main control architecture to implement actors. In this paper we first analyse the impact that this choice has on the design of actor-based concurrent programs. Then, we discuss control loops as the main architecture adopted to implement agents, and we frame them as an extension of...
Saved in:
| Published in: | Computer languages, systems & structures Vol. 45; pp. 80 - 104 |
|---|---|
| Main Author: | |
| Format: | Journal Article |
| Language: | English |
| Published: |
Elsevier Ltd
01.04.2016
|
| Subjects: | |
| ISSN: | 1477-8424, 1873-6866 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Event loops are a main control architecture to implement actors. In this paper we first analyse the impact that this choice has on the design of actor-based concurrent programs. Then, we discuss control loops as the main architecture adopted to implement agents, and we frame them as an extension of event loops effective to improve the programming of autonomous components that need to integrate both reactive and proactive behaviors, in a modular way.
•The event loop architecture has a strong impact on actor programming.•Main weaknesses concern asynchronous spaghetti and fragmentation.•Control loops adopted in agent programming can be framed as an extension.•It leads to a more procedural structure of programs yet preserving reactivity.•It allows us to improve modularity, encapsulation and abstraction. |
|---|---|
| AbstractList | Event loops are a main control architecture to implement actors. In this paper we first analyse the impact that this choice has on the design of actor-based concurrent programs. Then, we discuss control loops as the main architecture adopted to implement agents, and we frame them as an extension of event loops effective to improve the programming of autonomous components that need to integrate both reactive and proactive behaviors, in a modular way. Event loops are a main control architecture to implement actors. In this paper we first analyse the impact that this choice has on the design of actor-based concurrent programs. Then, we discuss control loops as the main architecture adopted to implement agents, and we frame them as an extension of event loops effective to improve the programming of autonomous components that need to integrate both reactive and proactive behaviors, in a modular way. •The event loop architecture has a strong impact on actor programming.•Main weaknesses concern asynchronous spaghetti and fragmentation.•Control loops adopted in agent programming can be framed as an extension.•It leads to a more procedural structure of programs yet preserving reactivity.•It allows us to improve modularity, encapsulation and abstraction. |
| Author | Ricci, Alessandro |
| Author_xml | – sequence: 1 givenname: Alessandro surname: Ricci fullname: Ricci, Alessandro email: a.ricci@unibo.it organization: DISI – University of Bologna, Italy |
| BookMark | eNp1kLtOwzAUhi1UJNrCzuiRJcG32C4bqihFqgQDzJbjS3GVxMVOi9h4B96QJyFVuzKdX0f_d6TzTcCoi50D4BqjEiPMbzelaUqCcFViUiJEz8AYS0ELLjkfDZkJUUhG2AWY5LxBiCDJqjFYvqS4TrptQ7eGn6F_h27vuh42MW4z1J2FJnZ9is1p8_v9AxcptlCbPqYM-wj1egDyJTj3usnu6jSn4G3x8DpfFqvnx6f5_aowRKK-oJJ4YxhBxtu6YsKiekZrYYnnGFNHPNFUejrjyCEqvBeUc2a1pQLX1iNGp-DmeHeb4sfO5V61IRvXNLpzcZcVlqRiks3obKiiY9WkmHNyXm1TaHX6UhipgzS1UaZRB2kKEzVIG5C7I-KGF_bBJZVNcJ1xNiRnemVj-B_-A5Qpdkk |
| Cites_doi | 10.1007/11580850_12 10.1007/978-3-540-68863-1_13 10.1145/1273442.1250756 10.1145/2489798.2489802 10.1109/MCC.1998.678786 10.1007/978-3-540-32260-3_4 10.1007/s10270-006-0011-2 10.1007/978-3-662-44471-9_17 10.1145/1653662.1653673 10.1007/BFb0031845 10.1016/0004-3702(93)90034-9 10.1145/583960.583964 10.1007/s10458-010-9140-7 10.1007/978-3-642-18378-2_15 10.1145/1810891.1810910 10.1145/2687357.2687361 10.1145/292469.292470 10.1145/1596655.1596658 10.1007/s10458-008-9036-y 10.1145/1244381.1244403 10.1145/2541329.2541333 10.1145/2002259.2002278 10.1145/2095050.2095078 10.1145/2076021.2048134 10.1145/129630.129635 10.1017/S095679689700261X 10.1145/2493187.2493188 10.1145/2541329.2541339 10.1145/2414639.2414650 10.1145/362929.362947 10.1145/83880.84528 10.1007/978-3-642-25271-6_8 10.1145/850657.850658 10.7551/mitpress/2087.003.0007 10.1007/978-3-540-72794-1_10 10.1016/0004-3702(77)90033-9 10.1109/MC.2003.1160055 10.1145/317765.317779 10.1007/978-3-540-70592-5_6 10.1016/j.scico.2014.02.009 10.1007/978-3-642-24013-3_30 10.1109/4434.788781 10.1016/j.tcs.2008.09.019 |
| ContentType | Journal Article |
| Copyright | 2015 Elsevier Ltd |
| Copyright_xml | – notice: 2015 Elsevier Ltd |
| DBID | AAYXX CITATION 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1016/j.cl.2015.12.003 |
| DatabaseName | CrossRef Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science Architecture |
| EISSN | 1873-6866 |
| EndPage | 104 |
| ExternalDocumentID | 10_1016_j_cl_2015_12_003 S1477842415000949 |
| GroupedDBID | --K --M .DC .~1 0R~ 1B1 1~. 1~5 29F 4.4 457 4G. 5VS 7-5 71M 8P~ AACTN AAEDT AAEDW AAIKJ AAKOC AALRI AAOAW AAQFI AAXUO AAYFN ABBOA ABMAC ABXDB ABYKQ ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADJOM ADMUD AEBSH AEKER AFKWA AFTJW AGHFR AGUBO AGYEJ AHZHX AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD AXJTR BKOJK BLXMC EBS EFJIC EJD EO8 EO9 EP2 EP3 FDB FEDTE FIRID FNPLU FYGXN G-Q GBLVA GBOLZ HVGLF HZ~ IHE J1W KOM M41 MO0 N9A O-L O9- OAUVE OZT P-8 P-9 PC. Q38 RIG ROL RPZ SDF SDG SDP SES SEW SPC SSV SSZ T5K TN5 XFK YYM ~G- 9DU AATTM AAXKI AAYWO AAYXX ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO AEIPS AEUPX AFPUW AIGII AIIUN AKBMS AKRWK AKYEP ANKPU CITATION EFKBS ~HD 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c280t-382fcc420cfdb547d0b93b7d2f6113e2f2a38f3960e037ff73664dad371bdf043 |
| ISICitedReferencesCount | 4 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000378461300005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1477-8424 |
| IngestDate | Thu Oct 02 11:10:01 EDT 2025 Sat Nov 29 01:36:51 EST 2025 Fri Feb 23 02:17:32 EST 2024 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | Agents Event loops Actors Agent-oriented programming Concurrent programming Control loops |
| Language | English |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c280t-382fcc420cfdb547d0b93b7d2f6113e2f2a38f3960e037ff73664dad371bdf043 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 23 |
| PQID | 1825484939 |
| PQPubID | 23500 |
| PageCount | 25 |
| ParticipantIDs | proquest_miscellaneous_1825484939 crossref_primary_10_1016_j_cl_2015_12_003 elsevier_sciencedirect_doi_10_1016_j_cl_2015_12_003 |
| PublicationCentury | 2000 |
| PublicationDate | 2016-04-01 |
| PublicationDateYYYYMMDD | 2016-04-01 |
| PublicationDate_xml | – month: 04 year: 2016 text: 2016-04-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | Computer languages, systems & structures |
| PublicationYear | 2016 |
| Publisher | Elsevier Ltd |
| Publisher_xml | – name: Elsevier Ltd |
| References | Dijkstra (bib18) 1968; 11 Ricci A, Santi A. Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project. In: Proceedings of the AGERE! ׳11, SPLASH ׳11 workshops. New York, NY, USA: ACM; 2011. p. 159–70. Matsuoka S, Yonezawa A. Analysis of inheritance anomaly in object-oriented concurrent programming languages. In: Research directions in concurrent object-oriented programming. Cambridge, MA, USA: MIT Press; 1993. p. 107–50. Srinivasan S, Mycroft A. Kilim: isolation-typed actors for java. In: Proceedings of the ECOOP ׳08. Berlin, Heidelberg: Springer-Verlag; 2008. p. 104–28. Ganz, Friedman, Wand (bib21) 1999; 34 Jordan, Botterweck, Noll, Butterfield, Collier (bib34) 2015; 98 [accessed 20.10.15]. Guessoum, Briot (bib23) 1999; 7 Lauer, Needham (bib39) 1979; 13 Adya A, Howell J, Theimer M, Bolosky WJ, Douceur JR. Cooperative task management without manual stack management. In: Proceedings of the ATEC ׳02. Berkeley, CA, USA: USENIX Association; 2002. p. 289–302. Agha, Mason, Smith, Talcott (bib5) 1997; 7 Last Retrieved: August 12, 2014. Cardoso RC, Zatelli MR, Hübner JF, Bordini RH. Towards benchmarking actor- and agent-based programming languages. In: Proceedings of the 2013 workshop on programming based on actors, agents, and decentralized control, AGERE! ׳13. New York, NY, USA: ACM; 2013. p. 115–26. Bordini, Hübner, Wooldridge (bib10) 2007 Agha, Hewitt (bib4) 1987 Haller, Odersky (bib25) 2009; 410 Jordan H, Russell S, O׳Hare G, Collier R. Reuse by inheritance in agent programming languages. In: Intelligent distributed computing V. Studies in computational intelligence, vol. 382. Berlin, Heidelberg: Springer; 2012. p. 279–89. Ricci A, Santi A. Programming abstractions for integrating autonomous and reactive behaviors: an agent-oriented approach. In: Proceedings of the AGERE! ׳12. New York, NY, USA: ACM; 2012. p. 83–94. Gamma, Helm, Johnson, Vlissides (bib20) 1995 Dastani (bib16) 2008; 16 Agha (bib3) 1990; 33 von Behren R, Condit J, Brewer E. Why events are a bad idea (for high-concurrency servers). In: Proceedings of the HOTOS׳03. USENIX Association: Berkeley, CA, USA; 2003. p. 4–4. Van Cutsem, Boix, Scholliers, Carreton, Harnie, Pinte (bib60) 2014; 40 Johnsen, Owe (bib31) 2007; 6 In: Concurrent objects and beyond—Festschrift in Honor of Akinori Yonezawa. Lecture notes on computer science, vol. 8665. Berlin, Heidelberg: Springer; 2014. Hewitt C, Baker HJ. Actors and continuous functionals. Technical report. MIT/LCS/TR-194; 1979. Bordini, Dastani, Dix, El Fallah Seghrouchni (bib11) 2011; 23 Kafura, Briot (bib35) 1998; 6 Syme D, Petricek T, Lomov D. The F# asynchronous programming model. In: Proceedings of the PADL׳11. Berlin, Heidelberg: Springer-Verlag; 2011. p. 175–89. Armstrong (bib8) 2010; 53 Kambona K, Boix EG, De Meuter W. 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. New York, NY, USA: ACM; 2013. p. 3:1–3:9. Ricci A, Yonezawa A. Away from the sequential paradigm tarpit: Modelling and programming with actors, concurrent objects and agents. In: Proceedings of the second international workshop on combined object-oriented modelling and programming languages, ECOOP׳13. New York, NY, USA: ACM; 2013. p. 1:1–1:6. Ricci A, Santi A. From actors and concurrent objects to agent-oriented programming in Li, Zdancewic (bib40) 2007; 42 Varela (bib62) 2013 Schäfer J, Poetzsch-Heffter A. CoBoxes: unifying active objects and structured heaps. In: Proceedings of the FMOODS׳08. Berlin, Heidelberg: Springer-Verlag; 2008. p. 201–19. Team A. Dining philosophers in ambienttalk, 2015. Included in AmbientTalk distribution available at Jayaram KR, Eugster P. Program analysis for event-based distributed systems. In: Proceedings of the 5th ACM international conference on distributed event-based system, DEBS ׳11. New York, NY, USA: ACM; 2011. p. 113–24. Ousterhout J. Why Threads Are A Bad Idea (for most purposes), 1996. Presented at USENIX technical conference. Gelernter, Carriero (bib22) 1992; 35 Dijkstra EW. Cooperating sequential processes. Technical Report ewd-123; 1965. Crnogorac L, Rao AS, Ramamohanarao K. Analysis of inheritance mechanisms in agent-oriented programming. In: IJCAI (1) ׳97; 1997. p. 647–54. Akka. Actor framework; 2010. Hewitt (bib27) 1977; 8 Akka. Dining hakkers in Akka; 2015. Akka/Typesafe tutorial available at Hindriks (bib29) 2009 Karmani RK, Shali A, Agha G. Actor frameworks for the jvm platform: a comparative analysis. In: Proceedings of the PPPJ׳09. New York, NY, USA: ACM; 2009. p. 11–20. Haller P, Odersky M. Actors that unify threads and events. In: Proceedings of the 9th international conference on coordination models and languages, COORDINATION׳07. Berlin, Heidelberg: Springer-Verlag; 2007. p. 171–90. Varela, Agha (bib61) 2001; 36 Rao AS, Georgeff MP, BDI agents: from theory to practice. In: Proceedings of the ICMAS׳95; 1995. Schmidt, Stal, Rohnert, Buschmann (bib55) 2000; vol. 2 Shoham (bib56) 1993; 60 Johnsen EB, Hähnle R, Schäfer J, Schlatte R, Steffen M, ABS: a core language for abstract behavioral specification. In: Formal methods for components and objects. Lecture notes on computer science, vol. 6957. Berlin, Heidelberg: Springer; 2012. p. 142–64. Daggett (bib15) 2013 Rao AS. AgentSpeak(L): BDI agents speak out in a logical computable language. In: Proceedings of the MAAMAW׳96. Berlin, Heidelberg: Springer; New York,; Inc., 1996. p. 42–55. Ross R, Collier R, O׳Hare G. AF-APL: bridging principles and practice in agent oriented languages. In: Programming multi-agent systems. Lecture notes in computer science, vol. 3346. Berlin, Heidelberg: Springer; 2005. p. 66–88. Harris, Abadi, Isaacs, McIlroy (bib26) 2011; 46 Kephart, Chess (bib38) 2003; 36 Ricci A. From actor event-loop to agent control-loop: impact on programming. In: Proceedings of the 4th international workshop on programming based on actors agents & decentralized control, AGERE! ׳14. New York, NY, USA: ACM; 2014. p. 121–32. Agha (bib2) 1986 Briot, Guerraoui, Lohr (bib12) 1998; 30 Miller M, Tribble E, Shapiro J. Concurrency among strangers: programming in E as plan coordination. In: Trustworthy global computing. Lecture notes on computer science, vol. 3705. Berlin, Heidelberg: Springer; 2005. p. 195–229. Fischer J, Majumdar R, Millstein T. Tasks: language support for event-driven programming. In: Proceedings of the PEPM ׳07. New York, NY, USA: ACM; 2007. p. 134–43. Ricci A, Santi A. Concurrent object-oriented programming with agent-oriented abstractions: the ALOO approach. In: Proceedings of the 2013 workshop on programming based on actors, agents, and decentralized control, AGERE! ׳13. New York, NY, USA: ACM; 2013. p. 127–38. Ricci, Piunti, Viroli (bib47) 2011; 23 Bohannon A, Pierce BC, Sjöberg V, Weirich S, Zdancewic S. Reactive noninterference. In: Proceedings of the 16th ACM conference on computer and communications security, CCS ׳09. New York, NY, USA: ACM; 2009. p. 79–90. 10.1016/j.cl.2015.12.003_bib44 10.1016/j.cl.2015.12.003_bib43 Harris (10.1016/j.cl.2015.12.003_bib26) 2011; 46 10.1016/j.cl.2015.12.003_bib46 10.1016/j.cl.2015.12.003_bib45 Guessoum (10.1016/j.cl.2015.12.003_bib23) 1999; 7 10.1016/j.cl.2015.12.003_bib48 Li (10.1016/j.cl.2015.12.003_bib40) 2007; 42 10.1016/j.cl.2015.12.003_bib49 Dastani (10.1016/j.cl.2015.12.003_bib16) 2008; 16 Agha (10.1016/j.cl.2015.12.003_bib3) 1990; 33 10.1016/j.cl.2015.12.003_bib42 10.1016/j.cl.2015.12.003_bib41 Bordini (10.1016/j.cl.2015.12.003_bib11) 2011; 23 Jordan (10.1016/j.cl.2015.12.003_bib34) 2015; 98 Gamma (10.1016/j.cl.2015.12.003_bib20) 1995 Hewitt (10.1016/j.cl.2015.12.003_bib27) 1977; 8 Agha (10.1016/j.cl.2015.12.003_bib5) 1997; 7 10.1016/j.cl.2015.12.003_bib54 10.1016/j.cl.2015.12.003_bib13 10.1016/j.cl.2015.12.003_bib57 10.1016/j.cl.2015.12.003_bib59 10.1016/j.cl.2015.12.003_bib14 10.1016/j.cl.2015.12.003_bib58 10.1016/j.cl.2015.12.003_bib17 Schmidt (10.1016/j.cl.2015.12.003_bib55) 2000; vol. 2 Haller (10.1016/j.cl.2015.12.003_bib25) 2009; 410 10.1016/j.cl.2015.12.003_bib51 10.1016/j.cl.2015.12.003_bib50 10.1016/j.cl.2015.12.003_bib53 10.1016/j.cl.2015.12.003_bib52 Agha (10.1016/j.cl.2015.12.003_bib4) 1987 10.1016/j.cl.2015.12.003_bib19 Briot (10.1016/j.cl.2015.12.003_bib12) 1998; 30 Armstrong (10.1016/j.cl.2015.12.003_bib8) 2010; 53 10.1016/j.cl.2015.12.003_bib24 10.1016/j.cl.2015.12.003_bib28 Johnsen (10.1016/j.cl.2015.12.003_bib31) 2007; 6 10.1016/j.cl.2015.12.003_bib1 Daggett (10.1016/j.cl.2015.12.003_bib15) 2013 10.1016/j.cl.2015.12.003_bib7 10.1016/j.cl.2015.12.003_bib6 10.1016/j.cl.2015.12.003_bib63 10.1016/j.cl.2015.12.003_bib9 Shoham (10.1016/j.cl.2015.12.003_bib56) 1993; 60 Van Cutsem (10.1016/j.cl.2015.12.003_bib60) 2014; 40 Varela (10.1016/j.cl.2015.12.003_bib62) 2013 Ganz (10.1016/j.cl.2015.12.003_bib21) 1999; 34 Agha (10.1016/j.cl.2015.12.003_bib2) 1986 Gelernter (10.1016/j.cl.2015.12.003_bib22) 1992; 35 10.1016/j.cl.2015.12.003_bib33 10.1016/j.cl.2015.12.003_bib32 Ricci (10.1016/j.cl.2015.12.003_bib47) 2011; 23 10.1016/j.cl.2015.12.003_bib37 10.1016/j.cl.2015.12.003_bib36 10.1016/j.cl.2015.12.003_bib30 Hindriks (10.1016/j.cl.2015.12.003_bib29) 2009 Kafura (10.1016/j.cl.2015.12.003_bib35) 1998; 6 Dijkstra (10.1016/j.cl.2015.12.003_bib18) 1968; 11 Kephart (10.1016/j.cl.2015.12.003_bib38) 2003; 36 Lauer (10.1016/j.cl.2015.12.003_bib39) 1979; 13 Varela (10.1016/j.cl.2015.12.003_bib61) 2001; 36 Bordini (10.1016/j.cl.2015.12.003_bib10) 2007 |
| References_xml | – reference: Matsuoka S, Yonezawa A. Analysis of inheritance anomaly in object-oriented concurrent programming languages. In: Research directions in concurrent object-oriented programming. Cambridge, MA, USA: MIT Press; 1993. p. 107–50. – reference: 〉, Last Retrieved: August 12, 2014. – reference: 〉[accessed 20.10.15]. – reference: Cardoso RC, Zatelli MR, Hübner JF, Bordini RH. Towards benchmarking actor- and agent-based programming languages. In: Proceedings of the 2013 workshop on programming based on actors, agents, and decentralized control, AGERE! ׳13. New York, NY, USA: ACM; 2013. p. 115–26. – volume: 7 start-page: 1 year: 1997 end-page: 72 ident: bib5 article-title: A foundation for actor computation publication-title: J Funct Program – year: 2013 ident: bib15 article-title: Expert JavaScript – volume: 23 year: 2011 ident: bib11 article-title: Special issue publication-title: Autonom Agents Multi-Agent Syst – reference: Schäfer J, Poetzsch-Heffter A. CoBoxes: unifying active objects and structured heaps. In: Proceedings of the FMOODS׳08. Berlin, Heidelberg: Springer-Verlag; 2008. p. 201–19. – volume: 23 start-page: 158 year: 2011 end-page: 192 ident: bib47 article-title: Environment programming in multi-agent systems publication-title: Autonom Agents Multi-Agent Syst – year: 1986 ident: bib2 article-title: Actors – volume: 36 start-page: 20 year: 2001 end-page: 34 ident: bib61 article-title: Programming dynamically reconfigurable open systems with salsa publication-title: SIGPLAN Not – volume: vol. 2 year: 2000 ident: bib55 article-title: Patterns for concurrent and networked objects, pattern-oriented software architecture – volume: 40 start-page: 112 year: 2014 end-page: 136 ident: bib60 article-title: Ambienttalk publication-title: Comput Lang Syst Struct – volume: 11 start-page: 147 year: 1968 end-page: 148 ident: bib18 article-title: Letters to the editor publication-title: Commun ACM – volume: 34 start-page: 18 year: 1999 end-page: 27 ident: bib21 article-title: Trampolined style publication-title: SIGPLAN Not – year: 1995 ident: bib20 article-title: Design patterns – start-page: 37 year: 1987 end-page: 53 ident: bib4 article-title: Concurrent programming using actors publication-title: Object-oriented concurrent programming – reference: Fischer J, Majumdar R, Millstein T. Tasks: language support for event-driven programming. In: Proceedings of the PEPM ׳07. New York, NY, USA: ACM; 2007. p. 134–43. – reference: . In: Concurrent objects and beyond—Festschrift in Honor of Akinori Yonezawa. Lecture notes on computer science, vol. 8665. Berlin, Heidelberg: Springer; 2014. – reference: Akka. Actor framework; 2010. 〈 – reference: Crnogorac L, Rao AS, Ramamohanarao K. Analysis of inheritance mechanisms in agent-oriented programming. In: IJCAI (1) ׳97; 1997. p. 647–54. – reference: Jordan H, Russell S, O׳Hare G, Collier R. Reuse by inheritance in agent programming languages. In: Intelligent distributed computing V. Studies in computational intelligence, vol. 382. Berlin, Heidelberg: Springer; 2012. p. 279–89. – year: 2007 ident: bib10 article-title: Programming multi-agent systems in AgentSpeak using Jason – volume: 8 start-page: 323 year: 1977 end-page: 364 ident: bib27 article-title: Viewing control structures as patterns of passing messages publication-title: Artif Intell – reference: Ross R, Collier R, O׳Hare G. AF-APL: bridging principles and practice in agent oriented languages. In: Programming multi-agent systems. Lecture notes in computer science, vol. 3346. Berlin, Heidelberg: Springer; 2005. p. 66–88. – volume: 33 start-page: 125 year: 1990 end-page: 141 ident: bib3 article-title: Concurrent object-oriented programming publication-title: Commun ACM – reference: Hewitt C, Baker HJ. Actors and continuous functionals. Technical report. MIT/LCS/TR-194; 1979. – volume: 53 start-page: 68 year: 2010 end-page: 75 ident: bib8 article-title: Erlang publication-title: Commun ACM – reference: Adya A, Howell J, Theimer M, Bolosky WJ, Douceur JR. Cooperative task management without manual stack management. In: Proceedings of the ATEC ׳02. Berkeley, CA, USA: USENIX Association; 2002. p. 289–302. – reference: Bohannon A, Pierce BC, Sjöberg V, Weirich S, Zdancewic S. Reactive noninterference. In: Proceedings of the 16th ACM conference on computer and communications security, CCS ׳09. New York, NY, USA: ACM; 2009. p. 79–90. – volume: 36 start-page: 41 year: 2003 end-page: 50 ident: bib38 article-title: The vision of autonomic computing publication-title: Computer – reference: Ricci A, Santi A. Programming abstractions for integrating autonomous and reactive behaviors: an agent-oriented approach. In: Proceedings of the AGERE! ׳12. New York, NY, USA: ACM; 2012. p. 83–94. – reference: Kambona K, Boix EG, De Meuter W. 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. New York, NY, USA: ACM; 2013. p. 3:1–3:9. – volume: 30 start-page: 291 year: 1998 end-page: 329 ident: bib12 article-title: Concurrency and distribution in object-oriented programming publication-title: ACM Comput Surv – reference: von Behren R, Condit J, Brewer E. Why events are a bad idea (for high-concurrency servers). In: Proceedings of the HOTOS׳03. USENIX Association: Berkeley, CA, USA; 2003. p. 4–4. – start-page: 3 year: 2009 end-page: 37 ident: bib29 article-title: Programming rational agents in GOAL publication-title: Multi-agent programming: languages, platforms and applications (2nd volume) – reference: Dijkstra EW. Cooperating sequential processes. Technical Report ewd-123; 1965. – reference: Srinivasan S, Mycroft A. Kilim: isolation-typed actors for java. In: Proceedings of the ECOOP ׳08. Berlin, Heidelberg: Springer-Verlag; 2008. p. 104–28. – volume: 42 start-page: 189 year: 2007 end-page: 199 ident: bib40 article-title: Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives publication-title: SIGPLAN Not – reference: Ousterhout J. Why Threads Are A Bad Idea (for most purposes), 1996. Presented at USENIX technical conference. – reference: Haller P, Odersky M. Actors that unify threads and events. In: Proceedings of the 9th international conference on coordination models and languages, COORDINATION׳07. Berlin, Heidelberg: Springer-Verlag; 2007. p. 171–90. – volume: 13 start-page: 3 year: 1979 end-page: 19 ident: bib39 article-title: On the duality of operating system structures publication-title: SIGOPS Oper Syst Rev – reference: Johnsen EB, Hähnle R, Schäfer J, Schlatte R, Steffen M, ABS: a core language for abstract behavioral specification. In: Formal methods for components and objects. Lecture notes on computer science, vol. 6957. Berlin, Heidelberg: Springer; 2012. p. 142–64. – volume: 6 start-page: 39 year: 2007 end-page: 58 ident: bib31 article-title: An asynchronous communication model for distributed concurrent objects publication-title: Softw Syst Model – reference: Rao AS, Georgeff MP, BDI agents: from theory to practice. In: Proceedings of the ICMAS׳95; 1995. – volume: 98 start-page: 120 year: 2015 end-page: 139 ident: bib34 article-title: A feature model of actor, agent, functional, object, and procedural programming languages publication-title: Sci Comput Program – reference: Jayaram KR, Eugster P. Program analysis for event-based distributed systems. In: Proceedings of the 5th ACM international conference on distributed event-based system, DEBS ׳11. New York, NY, USA: ACM; 2011. p. 113–24. – reference: Miller M, Tribble E, Shapiro J. Concurrency among strangers: programming in E as plan coordination. In: Trustworthy global computing. Lecture notes on computer science, vol. 3705. Berlin, Heidelberg: Springer; 2005. p. 195–229. – reference: Ricci A, Yonezawa A. Away from the sequential paradigm tarpit: Modelling and programming with actors, concurrent objects and agents. In: Proceedings of the second international workshop on combined object-oriented modelling and programming languages, ECOOP׳13. New York, NY, USA: ACM; 2013. p. 1:1–1:6. – volume: 410 start-page: 202 year: 2009 end-page: 220 ident: bib25 article-title: Scala actors publication-title: Theoret Comput Sci – reference: Rao AS. AgentSpeak(L): BDI agents speak out in a logical computable language. In: Proceedings of the MAAMAW׳96. Berlin, Heidelberg: Springer; New York,; Inc., 1996. p. 42–55. – volume: 46 start-page: 903 year: 2011 end-page: 920 ident: bib26 article-title: AC publication-title: SIGPLAN Not – reference: Akka. Dining hakkers in Akka; 2015. Akka/Typesafe tutorial available at 〈 – reference: Ricci A. From actor event-loop to agent control-loop: impact on programming. In: Proceedings of the 4th international workshop on programming based on actors agents & decentralized control, AGERE! ׳14. New York, NY, USA: ACM; 2014. p. 121–32. – reference: Ricci A, Santi A. From actors and concurrent objects to agent-oriented programming in – volume: 60 start-page: 51 year: 1993 end-page: 92 ident: bib56 article-title: Agent-oriented programming publication-title: Artif Intell – reference: Karmani RK, Shali A, Agha G. Actor frameworks for the jvm platform: a comparative analysis. In: Proceedings of the PPPJ׳09. New York, NY, USA: ACM; 2009. p. 11–20. – reference: Team A. Dining philosophers in ambienttalk, 2015. Included in AmbientTalk distribution available at 〈 – volume: 16 start-page: 214 year: 2008 end-page: 248 ident: bib16 article-title: 2apl publication-title: Autonom Agents Multi-Agent Syst – reference: Syme D, Petricek T, Lomov D. The F# asynchronous programming model. In: Proceedings of the PADL׳11. Berlin, Heidelberg: Springer-Verlag; 2011. p. 175–89. – reference: Ricci A, Santi A. Concurrent object-oriented programming with agent-oriented abstractions: the ALOO approach. In: Proceedings of the 2013 workshop on programming based on actors, agents, and decentralized control, AGERE! ׳13. New York, NY, USA: ACM; 2013. p. 127–38. – volume: 7 start-page: 68 year: 1999 end-page: 76 ident: bib23 article-title: From active objects to autonomous agents publication-title: IEEE Concurr – volume: 6 start-page: 24 year: 1998 end-page: 28 ident: bib35 article-title: Actors and agents publication-title: IEEE Concurr – year: 2013 ident: bib62 article-title: Programming distributed computing systems – reference: Ricci A, Santi A. Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project. In: Proceedings of the AGERE! ׳11, SPLASH ׳11 workshops. New York, NY, USA: ACM; 2011. p. 159–70. – volume: 35 start-page: 97 year: 1992 end-page: 107 ident: bib22 article-title: Coordination languages and their significance publication-title: Commun ACM – ident: 10.1016/j.cl.2015.12.003_bib42 doi: 10.1007/11580850_12 – ident: 10.1016/j.cl.2015.12.003_bib54 doi: 10.1007/978-3-540-68863-1_13 – volume: 42 start-page: 189 issue: June (6) year: 2007 ident: 10.1016/j.cl.2015.12.003_bib40 article-title: Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives publication-title: SIGPLAN Not doi: 10.1145/1273442.1250756 – ident: 10.1016/j.cl.2015.12.003_bib36 doi: 10.1145/2489798.2489802 – start-page: 37 year: 1987 ident: 10.1016/j.cl.2015.12.003_bib4 article-title: Concurrent programming using actors – year: 2007 ident: 10.1016/j.cl.2015.12.003_bib10 – volume: 6 start-page: 24 issue: April (2) year: 1998 ident: 10.1016/j.cl.2015.12.003_bib35 article-title: Actors and agents publication-title: IEEE Concurr doi: 10.1109/MCC.1998.678786 – ident: 10.1016/j.cl.2015.12.003_bib53 doi: 10.1007/978-3-540-32260-3_4 – volume: 6 start-page: 39 issue: 1 year: 2007 ident: 10.1016/j.cl.2015.12.003_bib31 article-title: An asynchronous communication model for distributed concurrent objects publication-title: Softw Syst Model doi: 10.1007/s10270-006-0011-2 – ident: 10.1016/j.cl.2015.12.003_bib51 doi: 10.1007/978-3-662-44471-9_17 – year: 1995 ident: 10.1016/j.cl.2015.12.003_bib20 – ident: 10.1016/j.cl.2015.12.003_bib28 – ident: 10.1016/j.cl.2015.12.003_bib9 doi: 10.1145/1653662.1653673 – ident: 10.1016/j.cl.2015.12.003_bib63 – ident: 10.1016/j.cl.2015.12.003_bib44 doi: 10.1007/BFb0031845 – volume: 60 start-page: 51 issue: 1 year: 1993 ident: 10.1016/j.cl.2015.12.003_bib56 article-title: Agent-oriented programming publication-title: Artif Intell doi: 10.1016/0004-3702(93)90034-9 – volume: 36 start-page: 20 issue: December (12) year: 2001 ident: 10.1016/j.cl.2015.12.003_bib61 article-title: Programming dynamically reconfigurable open systems with salsa publication-title: SIGPLAN Not doi: 10.1145/583960.583964 – volume: 23 start-page: 158 year: 2011 ident: 10.1016/j.cl.2015.12.003_bib47 article-title: Environment programming in multi-agent systems publication-title: Autonom Agents Multi-Agent Syst doi: 10.1007/s10458-010-9140-7 – volume: 40 start-page: 112 issue: 3–4 year: 2014 ident: 10.1016/j.cl.2015.12.003_bib60 article-title: Ambienttalk publication-title: Comput Lang Syst Struct – ident: 10.1016/j.cl.2015.12.003_bib58 doi: 10.1007/978-3-642-18378-2_15 – ident: 10.1016/j.cl.2015.12.003_bib7 – volume: 53 start-page: 68 issue: 9 year: 2010 ident: 10.1016/j.cl.2015.12.003_bib8 article-title: Erlang publication-title: Commun ACM doi: 10.1145/1810891.1810910 – ident: 10.1016/j.cl.2015.12.003_bib46 doi: 10.1145/2687357.2687361 – volume: 30 start-page: 291 issue: 3 year: 1998 ident: 10.1016/j.cl.2015.12.003_bib12 article-title: Concurrency and distribution in object-oriented programming publication-title: ACM Comput Surv doi: 10.1145/292469.292470 – volume: 23 issue: 2 year: 2011 ident: 10.1016/j.cl.2015.12.003_bib11 article-title: Special issue publication-title: Autonom Agents Multi-Agent Syst – year: 2013 ident: 10.1016/j.cl.2015.12.003_bib62 – ident: 10.1016/j.cl.2015.12.003_bib37 doi: 10.1145/1596655.1596658 – volume: 16 start-page: 214 issue: 3 year: 2008 ident: 10.1016/j.cl.2015.12.003_bib16 article-title: 2apl publication-title: Autonom Agents Multi-Agent Syst doi: 10.1007/s10458-008-9036-y – ident: 10.1016/j.cl.2015.12.003_bib43 – start-page: 3 year: 2009 ident: 10.1016/j.cl.2015.12.003_bib29 article-title: Programming rational agents in GOAL – ident: 10.1016/j.cl.2015.12.003_bib19 doi: 10.1145/1244381.1244403 – year: 2013 ident: 10.1016/j.cl.2015.12.003_bib15 – ident: 10.1016/j.cl.2015.12.003_bib50 doi: 10.1145/2541329.2541333 – ident: 10.1016/j.cl.2015.12.003_bib30 doi: 10.1145/2002259.2002278 – year: 1986 ident: 10.1016/j.cl.2015.12.003_bib2 – ident: 10.1016/j.cl.2015.12.003_bib48 doi: 10.1145/2095050.2095078 – ident: 10.1016/j.cl.2015.12.003_bib59 – volume: 46 start-page: 903 issue: October (10) year: 2011 ident: 10.1016/j.cl.2015.12.003_bib26 article-title: AC publication-title: SIGPLAN Not doi: 10.1145/2076021.2048134 – volume: 35 start-page: 97 issue: February (2 year: 1992 ident: 10.1016/j.cl.2015.12.003_bib22 article-title: Coordination languages and their significance publication-title: Commun ACM doi: 10.1145/129630.129635 – volume: 7 start-page: 1 issue: January (1) year: 1997 ident: 10.1016/j.cl.2015.12.003_bib5 article-title: A foundation for actor computation publication-title: J Funct Program doi: 10.1017/S095679689700261X – ident: 10.1016/j.cl.2015.12.003_bib52 doi: 10.1145/2493187.2493188 – volume: vol. 2 year: 2000 ident: 10.1016/j.cl.2015.12.003_bib55 – ident: 10.1016/j.cl.2015.12.003_bib1 – ident: 10.1016/j.cl.2015.12.003_bib13 doi: 10.1145/2541329.2541339 – ident: 10.1016/j.cl.2015.12.003_bib49 doi: 10.1145/2414639.2414650 – volume: 11 start-page: 147 issue: March (3) year: 1968 ident: 10.1016/j.cl.2015.12.003_bib18 article-title: Letters to the editor publication-title: Commun ACM doi: 10.1145/362929.362947 – volume: 33 start-page: 125 issue: September (9) year: 1990 ident: 10.1016/j.cl.2015.12.003_bib3 article-title: Concurrent object-oriented programming publication-title: Commun ACM doi: 10.1145/83880.84528 – ident: 10.1016/j.cl.2015.12.003_bib32 doi: 10.1007/978-3-642-25271-6_8 – ident: 10.1016/j.cl.2015.12.003_bib14 – volume: 13 start-page: 3 issue: April (2) year: 1979 ident: 10.1016/j.cl.2015.12.003_bib39 article-title: On the duality of operating system structures publication-title: SIGOPS Oper Syst Rev doi: 10.1145/850657.850658 – ident: 10.1016/j.cl.2015.12.003_bib41 doi: 10.7551/mitpress/2087.003.0007 – ident: 10.1016/j.cl.2015.12.003_bib24 doi: 10.1007/978-3-540-72794-1_10 – volume: 8 start-page: 323 issue: 3 year: 1977 ident: 10.1016/j.cl.2015.12.003_bib27 article-title: Viewing control structures as patterns of passing messages publication-title: Artif Intell doi: 10.1016/0004-3702(77)90033-9 – ident: 10.1016/j.cl.2015.12.003_bib6 – volume: 36 start-page: 41 issue: January (1) year: 2003 ident: 10.1016/j.cl.2015.12.003_bib38 article-title: The vision of autonomic computing publication-title: Computer doi: 10.1109/MC.2003.1160055 – ident: 10.1016/j.cl.2015.12.003_bib45 – volume: 34 start-page: 18 issue: September (9) year: 1999 ident: 10.1016/j.cl.2015.12.003_bib21 article-title: Trampolined style publication-title: SIGPLAN Not doi: 10.1145/317765.317779 – ident: 10.1016/j.cl.2015.12.003_bib57 doi: 10.1007/978-3-540-70592-5_6 – ident: 10.1016/j.cl.2015.12.003_bib17 – volume: 98 start-page: 120 year: 2015 ident: 10.1016/j.cl.2015.12.003_bib34 article-title: A feature model of actor, agent, functional, object, and procedural programming languages publication-title: Sci Comput Program doi: 10.1016/j.scico.2014.02.009 – ident: 10.1016/j.cl.2015.12.003_bib33 doi: 10.1007/978-3-642-24013-3_30 – volume: 7 start-page: 68 issue: July (3) year: 1999 ident: 10.1016/j.cl.2015.12.003_bib23 article-title: From active objects to autonomous agents publication-title: IEEE Concurr doi: 10.1109/4434.788781 – volume: 410 start-page: 202 issue: 2–3 year: 2009 ident: 10.1016/j.cl.2015.12.003_bib25 article-title: Scala actors publication-title: Theoret Comput Sci doi: 10.1016/j.tcs.2008.09.019 |
| SSID | ssj0020845 |
| Score | 2.0206754 |
| Snippet | Event loops are a main control architecture to implement actors. In this paper we first analyse the impact that this choice has on the design of actor-based... |
| SourceID | proquest crossref elsevier |
| SourceType | Aggregation Database Index Database Publisher |
| StartPage | 80 |
| SubjectTerms | Actors Agent-oriented programming Agents Architecture Concurrent programming Control loops Design analysis Design engineering Event loops Frames Impact analysis Languages Modular Programming |
| Title | Programming with event loops and control loops – From actors to agents |
| URI | https://dx.doi.org/10.1016/j.cl.2015.12.003 https://www.proquest.com/docview/1825484939 |
| Volume | 45 |
| WOSCitedRecordID | wos000378461300005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1873-6866 dateEnd: 20181231 omitProxy: false ssIdentifier: ssj0020845 issn: 1477-8424 databaseCode: AIEXJ dateStart: 20020401 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1bi9QwFA6664MIXlbF9UYE90GWSNo0TfM46Awqy7jILMxbaNNEZtltx-2s7M_35NJOVZT1wZdSwlxKvvTkO5ecD6HXMjM65cYQYG8MHBTNScWlJSX4Q3lpHCnRXmxCzOfFcimPo8B45-UERNMUV1dy_V-hhjEA2x2d_Qe4hx-FAbgH0OEKsMP1WsAfh4qr8yHK6ns0HZ617bqLp9hCdXoYIcBd2_PDKLsDTLT82rd3GjoYROWHIbjpsQ89oDu_dkIX2suLbUHil5XWq3iCputK1xZhHGBI8lFdSrCJmYCNLAtHnXujmfGR1QtaTHH_jHLCv5nmECU4fatdwifhPghL2XYb6lPv889qdnJ0pBbT5eKAzdbfiJMIc6n0A_Y-wHUT7aaCSzBiu5OP0-WnwcOmhVelHp445qVDQd_Pf_wnHvLLjuxpxuI-uhv9AzwJuD5AN0yzh-5MRumePXSvBwRHy_wQzUaoY4c69qhjjzGG6ccR9ThCsEMdB9TxpsUB9UfoZDZdvPtAokQG0WlBN4QVqdU6S6m2dcUzUdNKskrUqc2ThJnUpiUrLAM31VAmrBUsz7O6rJlIqtrSjD1GO03bmCcIa2u5tUZoCpwU3AhJZSmBnPPCVolgZh-96SdMrUMnFNWXCJ4qfabc5Kokdd1m9xHrZ1RFJhcYmoLV8JdvveonX4GRc5mrsjHtZacSF8coMsnk02t85hm6vV3Hz9EOvALmBbqlv29W3cXLuGZ-AAzQc30 |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Programming+with+event+loops+and+control+loops+-+From+actors+to+agents&rft.jtitle=Computer+languages%2C+systems+%26+structures&rft.au=Ricci%2C+Alessandro&rft.date=2016-04-01&rft.issn=1477-8424&rft.volume=45&rft.spage=80&rft.epage=104&rft_id=info:doi/10.1016%2Fj.cl.2015.12.003&rft.externalDBID=NO_FULL_TEXT |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1477-8424&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1477-8424&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1477-8424&client=summon |