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. HighlightsThe 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.
['Alessandro Ricci']
Programming with event loops and control loops - From actors to agents