Powered by
Conference Publishing Consulting

3rd International Workshop on Reactive and Event-Based Languages and Systems (REBLS 2016), November 1, 2016, Amsterdam, Netherlands

REBLS 2016 – Proceedings

Contents - Abstracts - Authors


Title Page

Message from the Chairs
REBLS’16, the 2016 Workshop on Reactive and Event-Based Languages & Systems takes place in Amsterdam, Netherlands on Tue 1 Nov 2016 and is co-located with SPLASH 2016. Reactive programming and event-based programming are two closely related programming styles that are becoming ever more important with the advent of advanced HPC technology and the ever increasing requirement for our applications to run on the web or on collaborating mobile devices. A number of publications on middleware and language design — so-called reactive and event-based languages and systems (REBLS) — have already seen the light, but the field still raises several questions. For example, the interaction with mainstream language concepts is poorly understood, implementation technology is in its infancy and modularity mechanisms are almost totally lacking. Moreover, large applications are still to be developed and patterns and tools for developing reactive applications is an area that is vastly unexplored. This workshop gathers researchers in reactive and event-based languages and systems. The goal of the workshop is to exchange new technical research results and to define better the field by coming up with taxonomies and overviews of the existing work.


I Now Pronounce You Reactive and Consistent: Handling Distributed and Replicated State in Reactive Programming
Florian Myter, Tim Coppieters, Christophe Scholliers ORCID logo, and Wolfgang De Meuter ORCID logo
(Vrije Universiteit Brussel, Belgium; Universiteit Gent, Belgium)
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.

Synchronous-Reactive Web Programming
Rémy El Sibaïe and Emmanuel Chailloux
(UPMC, France; CNRS, France; LIP6, France)
The current event-based model of web client programming lacks of a high level abstraction for concurrency and communication when many interactions are involved. The design of JavaScript runtime in the browser is very simple and chains steps of input handling and computation of output in a sequential way. This definition describes exactly a subset of programs well handled by the synchronous-reactive model. It proposes constructs to express parallel tasks communicating through broadcasted signals enforcing a static hypothesis of determinism, coherency and causality that improve programs composition. It is then interesting to consider client events as inputs and web view elements as outputs of a synchronous-reactive program. We describe here the design of pendulum, a language extension implementing those principles and targeting web client programming, which generates fast sequential code.

proc time: 1.19