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

Full description

Saved in:
Bibliographic Details
Published in:Computer languages, systems & structures Vol. 45; pp. 80 - 104
Main Author: Ricci, Alessandro
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