5th Workshop on Reactive and Event-based Languages & Systems

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 will gather 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.

Proceedings are available online.

Accepted Papers

Title
A Reactive Language for Analyzing Cloud Logs
REBLS
File Attached
Composable Higher-Order Reactors as the Basis for a Live Reactive Programming Environment
REBLS
File Attached
DISCOPAR: A Visual Reactive Programming Language for Generating Cloud-based Participatory Sensing Platforms
REBLS
File Attached
Distributing Thread-Safety for Reactive Programming
REBLS
Pre-print File Attached
Explicitly Comprehensible Functional Reactive Programming
REBLS
Media Attached File Attached
Multitier Reactive Programming with ScalaLoci
REBLS
File Attached
Reacting to stream-based programming bugs
REBLS
Reactive Chatbot Programming
REBLS
File Attached
RHEA: A Reactive, Heterogeneous, Extensible and Abstract Framework for Dataflow Programming
REBLS
File Attached
Skitter: A DSL for Distributed Reactive Workflows
REBLS
Pre-print File Attached
Synthesizing Manually Verifiable Code for Statecharts
REBLS
File Attached
Visualizing Reactive Execution History using Propagation Traces
REBLS
File Attached
Welcome and Opening Remarks
REBLS
File Attached
Where Do Events Come From? Reactive and Energy-Efficient Programming From The Ground Up
REBLS
File Attached

Call for Papers

Even though reactive programming and event-based programming are receiving ever more attention, the field is far from mature. This workshop will join forces and try to gather researchers working on the foundational models, languages and implementation technologies. We welcome all submissions on reactive programming, aspect- and event-oriented systems, including but not limited to:

  • Language design, implementation, runtime systems, program analysis, software metrics, patterns and benchmarks.
  • Study of the paradigm: interaction of reactive and event-based programming with existing language features such as object-oriented programming, mutable state, concurrency.
  • Advanced event systems, event quantification, event composition, aspect-oriented programming for reactive applications.
  • Functional-reactive programming, self-adjusting computation and incremental computing.
  • Synchronous languages, modeling real-time systems, safety-critical reactive and embedded systems.
  • Applications, case studies that show the efficacy of reactive programming.
  • Empirical studies that motivate further research in the field.
  • Patterns and best-practices.
  • Related fields, such as complex event processing, reactive data structures, view maintenance, constraint-based languages, and their integration with reactive programming. IDEs, Tools.
  • Implementation technology, language runtimes, virtual machine support, compilers.
  • Modularity and abstraction mechanisms in large systems.
  • Formal models for reactive and event-based programming.

The format of the workshop is that of a mini-conference. Participants can present their work in slots of 30 mins with Q&A included. Because of the declarative nature of reactive programs, it is often hard to understand their semantics just by looking at the code. We therefore also encourage authors to use their slots for presenting their work based on live demos.

Previous editions

REBLS’17

REBLS’16

REBLS’15

REBLS’14

REM’13

Submissions

REBLS encourages submissions of two types of papers:

  • Research results: complete works that will be published in the ACM digital library.
  • In progress papers: papers that have the potential of triggering an interesting discussion at the workshop or present new ideas that require further systematic investigation. These papers will not be published in the ACM digital library.

Format:

  • Submissions should be formatted according to the instructions for the authors below.
  • Full papers can be up to 10 pages in length including references.
  • In progress papers can be up to 6 pages.
  • Authors are required to explicitly specify the type of paper in the submission.

Instructions for the Authors:

For fairness reasons, all submitted papers should conform to the formatting instructions. Submissions that violate these instructions may be rejected without review.

Submission Site

Please take a moment to read the instructions below before using the submission site.

Concurrent Submissions

Papers must describe unpublished work that is not currently submitted for publication elsewhere as described by SIGPLAN’s Republication Policy. Submitters should also be aware of ACM’s Policy and Procedures on Plagiarism.

Format

Submissions should use the ACM SIGPLAN Conference acmart Format with sigplan Subformat, 10 point font, using Biolinum as sans-serif font and Libertine as serif font. All submissions should be in PDF format. If you use LaTeX or Word, please use the provided ACM SIGPLAN acmart Templates provided here. Otherwise, follow the author instructions.

If you are formatting your paper using LaTeX, you will need to set the 10pt option in the \documentclass command. If you are formatting your paper using Word, you may wish to use the provided Word template that supports this font size. Please include page numbers in your submission with the LaTeX \settopmatter{printfolios=true} command. Please also ensure that your submission is legible when printed on a black and white printer. In particular, please check that colors remain distinct and font sizes are legible.

Publication (Digital Library Early Access Warning)

AUTHORS TAKE NOTE: The official publication date is the date the proceedings are made available in the ACM Digital Library. This date may be up to two weeks prior to the first day of the conference. The official publication date affects the deadline for any patent filings related to published work.

You're viewing the program in a time zone which is different from your device's time zone change time zone

Sun 4 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

09:00 - 10:00
Keynote: RamanathanREBLS at Cambridge
Chair(s): Francisco Sant'Anna Rio de Janeiro State University
09:00
15m
Day opening
Welcome and Opening Remarks
REBLS
S: Guido Salvaneschi TU Darmstadt, S: Wolfgang De Meuter Vrije Universiteit Brussel, P: Francisco Sant'Anna Rio de Janeiro State University
File Attached
09:15
45m
Talk
Reacting to stream-based programming bugs
REBLS
10:30 - 12:00
Embedded, IoT / Multitier, DistributedREBLS at Cambridge
Chair(s): Tetsuo Kamina Oita University
10:30
22m
Talk
Where Do Events Come From? Reactive and Energy-Efficient Programming From The Ground Up
REBLS
Francisco Sant'Anna Rio de Janeiro State University, Alexandre Sztajnberg Rio de Janeiro State University
File Attached
10:52
22m
Talk
Synthesizing Manually Verifiable Code for Statecharts
REBLS
Steven Smyth Kiel University, Christian Motika Philotech Systementwicklung und Software GmbH, Reinhard von Hanxleden Kiel University
File Attached
11:15
22m
Talk
RHEA: A Reactive, Heterogeneous, Extensible and Abstract Framework for Dataflow Programming
REBLS
Orestis Melkonian University of Utrecht, Angelos Charalambidis NCSR "Demokritos''
File Attached
11:37
22m
Talk
Reactive Chatbot Programming
REBLS
Guillaume Baudart IBM Research, Martin Hirzel IBM Research, Louis Mandel IBM Research, Avraham Shinnar IBM Research, Jerome Simeon Clause
File Attached
13:30 - 15:00
Multitier, DistributedREBLS at Cambridge
Chair(s): Louis Mandel IBM Research
13:30
22m
Talk
DISCOPAR: A Visual Reactive Programming Language for Generating Cloud-based Participatory Sensing Platforms
REBLS
Jesse Zaman Vrije Universiteit Brussel, Kennedy Kambona Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel
File Attached
13:52
22m
Talk
Multitier Reactive Programming with ScalaLoci
REBLS
Pascal Weisenburger Technische Universität Darmstadt, Guido Salvaneschi TU Darmstadt
File Attached
14:15
22m
Talk
Distributing Thread-Safety for Reactive Programming
REBLS
Joscha Drechsler Technische Universität Darmstadt, Mira Mezini TU Darmstadt
Pre-print File Attached
14:37
22m
Talk
Skitter: A DSL for Distributed Reactive Workflows
REBLS
Mathijs Saey Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel
Pre-print File Attached

Title: Reacting to stream-based programming bugs

Speaker: Murali Krishna Ramanathan

Abstract: In stream-based programming, data sources are abstracted as a stream of values that can be manipulated via callback functions, and at Uber, our mobile apps leverage the strengths of this programming model. Even though this provides a powerful and expressive paradigm for handling asynchronous data sources in interactive software, high-level stream abstractions can also make it difficult for developers to reason about control and data-flow relationships in their programs.

In this talk, I will present our experiences with mitigating the bugs arising out of stream-based programming. Firstly, I will present the design and implementation of a type-based approach that can statically prove the thread-safety of UI accesses in stream-based software and will report our experience applying the checker to two Uber apps, where it currently runs on every code change and blocks changes that introduce potential threading bugs. Secondly, I will describe our efforts in addressing concerns pertaining to RxJava back-pressure and will share our best practices for negating it.

Bio: Murali Krishna Ramanathan is a member of the Programming Systems group at Uber Technologies, USA. He works on design and implementation of program analysis tools directed towards improving the quality and performance of Uber applications. Previously, he was a member of the core analysis team at Coverity and built program analysis tools that are widely used in the software industry. He is a recipient of the Google faculty research award and ACM SIGSOFT Distinguished paper award (ISSTA 16). He holds a PhD in Computer Science from Purdue University, USA.