当前位置: X-MOL 学术arXiv.cs.PL › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Advanced Join Patterns for the Actor Model based on CEP Techniques
arXiv - CS - Programming Languages Pub Date : 2020-10-30 , DOI: arxiv-2010.16301
Humberto Rodriguez Avila, Joeri De Koster, Wolfgang De Meuter

Context: Actor-based programming languages offer many essential features for developing modern distributed reactive systems. These systems exploit the actor model's isolation property to fulfill their performance and scalability demands. Unfortunately, the reliance of the model on isolation as its most fundamental property requires programmers to express complex interaction patterns between their actors to be expressed manually in terms of complex combinations of messages sent between the isolated actors. Inquiry: In the last three decades, several language design proposals have been introduced to reduce the complexity that emerges from describing said interaction and coordination of actors. We argue that none of these proposals is satisfactory in order to express the many complex interaction patterns between actors found in modern reactive distributed systems. Approach: We describe seven smart home automation scenarios (in which an actor represents every smart home appliance) to motivate the support by actor languages for five radically different types of message synchronization patterns, which are lacking in modern distributed actor-based languages. Fortunately, these five types of synchronisation patterns have been studied extensively by the Complex Event Processing (CEP) community. Our paper describes how such CEP patterns are elegantly added to an actor-based programming language. Knowledge: Based on our findings, we propose an extension of the single-message matching paradigm of contemporary actor-based languages in order to support a multiple-message matching way of thinking in the same way as proposed by CEP languages. Our proposal thus enriches the actor-model by ways of declaratively describing complex message combinations to which an actor can respond. Grounding: We base the problem-statement of the paper on an online poll in the home automation community that has motivated the real need for the CEP-based synchronisation operators between actors proposed in the paper. Furthermore, we implemented a DSL -- called Sparrow -- that supports said operators and we argue quantitatively (in terms of LOC and in terms of a reduction of the concerns that have to be handled by programmers) that the DSL outperforms existing approaches. Importance: This work aims to provide a set of synchronization operators that help actor-based languages to handle the complex interaction required by modern reactive distributed systems. To the best of our knowledge, our proposal is the first one to add advanced CEP synchronization operators to the -- relatively simplistic single-message based matching -- mechanisms of most actor-based languages.

中文翻译:

基于 CEP 技术的 Actor 模型的高级连接模式

上下文:基于 Actor 的编程语言为开发现代分布式反应系统提供了许多基本功能。这些系统利用参与者模型的隔离属性来满足其性能和可扩展性需求。不幸的是,模型对隔离的依赖作为其最基本的属性要求程序员表达他们的参与者之间的复杂交互模式,这些模式将根据隔离参与者之间发送的消息的复杂组合来手动表达。查询:在过去的三年中,已经引入了几种语言设计建议,以降低描述参与者的所述交互和协调所产生的复杂性。我们认为,为了表达现代反应式分布式系统中参与者之间的许多复杂交互模式,这些提议都不能令人满意。方法:我们描述了七个智能家居自动化场景(其中一个actor代表每个智能家电),以激发actor语言对五种完全不同类型的消息同步模式的支持,这是现代分布式基于actor的语言所缺乏的。幸运的是,这五种类型的同步模式已被复杂事件处理 (CEP) 社区广泛研究。我们的论文描述了如何将此类 CEP 模式优雅地添加到基于角色的编程语言中。知识:根据我们的发现,我们提出了对当代基于 actor 的语言的单消息匹配范式的扩展,以支持与 CEP 语言提出的相同方式的多消息匹配思维方式。因此,我们的提议通过声明性地描述参与者可以响应的复杂消息组合的方式来丰富参与者模型。基础:我们将论文的问题陈述基于家庭自动化社区的在线民意调查,该民意调查激发了对论文中提出的参与者之间基于 CEP 的同步算子的真正需求。此外,我们实现了一个名为 Sparrow 的 DSL,它支持上述运算符,并且我们在数量上(就 LOC 和减少必须由程序员处理的问题而言)争辩说 DSL 优于现有方法。重要性:这项工作旨在提供一组同步操作符,帮助基于 actor 的语言处理现代反应式分布式系统所需的复杂交互。据我们所知,我们的提议是第一个将高级 CEP 同步操作符添加到 - 相对简单的基于单消息的匹配 - 大多数基于参与者的语言的机制的提议。
更新日期:2020-11-02
down
wechat
bug