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
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
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.
Sun 4 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
09:00 - 10:00 | |||
09:00 15mDay 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 45mTalk | Reacting to stream-based programming bugs REBLS |
10:30 - 12:00 | |||
10:30 22mTalk | 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 22mTalk | 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 22mTalk | RHEA: A Reactive, Heterogeneous, Extensible and Abstract Framework for Dataflow Programming REBLS File Attached | ||
11:37 22mTalk | 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 | |||
13:30 22mTalk | 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 22mTalk | Multitier Reactive Programming with ScalaLoci REBLS File Attached | ||
14:15 22mTalk | Distributing Thread-Safety for Reactive Programming REBLS Pre-print File Attached | ||
14:37 22mTalk | 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 |
15:30 - 17:00 | |||
15:30 22mTalk | Composable Higher-Order Reactors as the Basis for a Live Reactive Programming Environment REBLS Bjarno Oeyen Vrije Universiteit Brussel, Humberto Rodriguez Avila Vrije Universiteit Brussel, Sam Van den Vonder , Wolfgang De Meuter Vrije Universiteit Brussel File Attached | ||
15:52 22mTalk | Explicitly Comprehensible Functional Reactive Programming REBLS Media Attached File Attached | ||
16:15 22mTalk | A Reactive Language for Analyzing Cloud Logs REBLS Guillaume Baudart IBM Research, Louis Mandel IBM Research, Olivier Tardieu IBM Research, Mandana Vaziri IBM Research File Attached | ||
16:37 22mTalk | Visualizing Reactive Execution History using Propagation Traces REBLS Takumi Hikosaka Ritsumeikan University, Tetsuo Kamina Oita University, Katsuhisa Maruyama Ritsumeikan University File Attached |
Keynote
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.