I now pronounce you reactive and consistent: handling distributed and replicated state in reactive programming

Florian Myter, Tim Coppieters, Christophe Scholliers, W. Meuter
{"title":"I now pronounce you reactive and consistent: handling distributed and replicated state in reactive programming","authors":"Florian Myter, Tim Coppieters, Christophe Scholliers, W. Meuter","doi":"10.1145/3001929.3001930","DOIUrl":null,"url":null,"abstract":"Developing modern collaborative applications burdens the programmer with local event handling (e.g. user interaction), remote event handling (e.g. updates from the server) and shared state (e.g. in order to allow operations while being disconnected). Several solutions have been developed at the programming language level in order to reduce the complexity of these aspects. On one hand, distributed reactive models (e.g. DREAM) tackle both local and remote event handling. On the other hand recent replicated consistency models (e.g. CRDT's and CloudTypes) hide the complexity of shared, replicated state. Both solutions only partially alleviate the complexity associated with developing collaborative applications. To the best of our knowledge, none or very little effort has been undertaken to provide a single unified model able to tackle both event handling and shared state. In this paper we argue the need for such a united model. To that end we present Direst, a domain specific language which enhances traditional reactive abstractions (i.e. signals) with replication and consistency features. Direst reduces the complexities of writing truly collaborative applications by providing a framework in which elegantly handling events and easily managing shared state are not mutually exclusive.","PeriodicalId":116808,"journal":{"name":"Proceedings of the 3rd International Workshop on Reactive and Event-Based Languages and Systems","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 3rd International Workshop on Reactive and Event-Based Languages and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3001929.3001930","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

Developing modern collaborative applications burdens the programmer with local event handling (e.g. user interaction), remote event handling (e.g. updates from the server) and shared state (e.g. in order to allow operations while being disconnected). Several solutions have been developed at the programming language level in order to reduce the complexity of these aspects. On one hand, distributed reactive models (e.g. DREAM) tackle both local and remote event handling. On the other hand recent replicated consistency models (e.g. CRDT's and CloudTypes) hide the complexity of shared, replicated state. Both solutions only partially alleviate the complexity associated with developing collaborative applications. To the best of our knowledge, none or very little effort has been undertaken to provide a single unified model able to tackle both event handling and shared state. In this paper we argue the need for such a united model. To that end we present Direst, a domain specific language which enhances traditional reactive abstractions (i.e. signals) with replication and consistency features. Direst reduces the complexities of writing truly collaborative applications by providing a framework in which elegantly handling events and easily managing shared state are not mutually exclusive.
我现在宣布你反应性和一致性:在反应性编程中处理分布式和复制状态
开发现代协作应用程序给程序员带来了本地事件处理(例如用户交互)、远程事件处理(例如来自服务器的更新)和共享状态(例如,为了允许在断开连接时进行操作)的负担。为了减少这些方面的复杂性,已经在编程语言级别开发了几种解决方案。一方面,分布式响应模型(例如DREAM)同时处理本地和远程事件处理。另一方面,最近的复制一致性模型(例如CRDT和CloudTypes)隐藏了共享、复制状态的复杂性。这两种解决方案都只是部分地减轻了与开发协作应用程序相关的复杂性。据我们所知,没有人或很少有人努力提供一个能够同时处理事件处理和共享状态的单一统一模型。在本文中,我们认为需要这样一个统一的模式。为此,我们提出了Direst,这是一种特定于领域的语言,它通过复制和一致性特性增强了传统的响应性抽象(即信号)。Direst通过提供一个框架来降低编写真正协作应用程序的复杂性,在这个框架中,优雅地处理事件和轻松地管理共享状态不会相互排斥。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信