论文标题

基于CEP技术的演员模型的高级联接模式

Advanced Join Patterns for the Actor Model based on CEP Techniques

论文作者

Avila, Humberto Rodriguez, De Koster, Joeri, De Meuter, Wolfgang

论文摘要

上下文:基于演员的编程语言为开发现代分布式反应系统提供了许多基本功能。这些系统利用演员模型的隔离属性来满足其性能和可伸缩性需求。不幸的是,模型对隔离的依赖是其最基本的属性要求程序员在其参与者之间表达复杂的相互作用模式,以根据隔离的参与者之间发送的消息的复杂组合来手动表达。 询问:在过去的三十年中,已经引入了一些语言设计建议,以减少描述参与者的互动和协调所带来的复杂性。我们认为,这些建议都不令人满意,以表达现代反应性分布式系统中的参与者之间的许多复杂相互作用模式。 方法:我们描述了七个智能家庭自动化方案(演员代表每个智能家用设备),以激发演员语言对五种根本不同类型的消息同步模式的支持,这些模式在现代分布式演员的语言中缺乏。幸运的是,这五种类型的同步模式已经通过复杂的事件处理(CEP)社区进行了广泛的研究。我们的论文描述了如何优雅地将这种CEP模式添加到基于演员的编程语言中。 知识:根据我们的发现,我们提出了一个基于当代演员的语言的单音匹配范式的扩展,以支持与CEP语言提出的相同方式的多种消息匹配的思维方式。因此,我们的建议通过声明描述参与者可以做出回应的复杂信息组合的方式丰富了演员模型。 基础:我们将本文的问题宣传在家庭自动化社区的在线民意调查中,这激发了本文提议的参与者之间基于CEP的同步操作员的真正需求。此外,我们实施了一个DSL(称为Sparrow),该DSL支持所说的运营商,并且我们在定量上(就LOC和减少程序员所必须处理的问题而言)提出了质疑DSL优于现有方法的问题。 重要性:这项工作旨在提供一组同步操作员,以帮助基于演员的语言处理现代反应性分布式系统所需的复杂交互。据我们所知,我们的建议是第一个将高级CEP同步运算符添加到大多数基于演员语言的基于单音的匹配 - 基于单音的匹配机制。

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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源