Workshop on Reactive and Event-based Languages & Systems

with Splash
Tue 21 October 2014
Portland, USA

REM '13

Workshop on Reactivity, Events and Modularity

with Splash, October 2013 @ Indianapolis, USA

Check the schedule and download the accepted papers and presentations.

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.

Back to top


Elm: Functional Reactive Programming for Front-End Applications (Evan Czaplicki)

Elm is a functional language for interactive graphics such as web apps, games, and visualizations. It is built around the ideas of immediate-mode rendering and Functional Reactive Programming (FRP). We will use Elm as a way to understand FRP and contextualize it in a broader taxonomy of reactive programming approaches. My goal is to illustrate:

  • The strong connection between pure functional programming and "immediate mode" rendering.
  • How Elm's version of FRP guides the architecture of all programs, requiring a clean separation of model and view. The simplicity of Elm's FRP is a key factor in making it easy to write maintainable front-end code.
  • How Elm fits into the broader taxonomy of reactive programming approaches, from message-passing concurrency to synchronous programming languages.

Bio: Evan is the designer and lead developer of the Elm programming language. He works at Prezi where his role is to make Elm (the compiler, tooling, community, resources, etc.) great as a language and as a practical tool for commercial users.


Start End Title Authors Download
8:30 9:00 Welcome and introduction
9:00 10:00 KEYNOTE: Elm: Functional Reactive Programming for Front-End Applications Evan Czaplicki
10:00 10:30 Coffee break
10:30 11:00 Structured Reactive Programming with Céu Francisco Sant'Anna, Roberto Ierusalimschy and Noemi Rodriguez
11:00 11:30 Taking Back Control (Flow) of Reactive Programming Sean McDirmid
11:30 12:00 Optimizing Distributed REScala Joscha Drechsler and Guido Salvaneschi
12:00 13:30 Lunch
13:30 14:00 Archipelago: A Research Platform for Component Interaction in Distributed Applications Eric Seckler and Robert Hirschfeld
14:00 14:30 A Performance Enhancement Advisor for Event Processing Queries Joong-Hyun Choi and Eun-Sun Cho
14:30 15:00 Solving Interactive Logic Puzzles With Object-Constraints - An Experience Report Using Babelsberg/S for Squeak/Smalltalk Maria Graber, Tim Felgentreff, Robert Hirschfeld and Alan Borning
15:00 15:30 Coffee break
15:30 16:00 Alea Reactive Dataflow: GPU Parallelization Made Simple Luc Bläser, Daniel Egloff, Oskar Knobel, Philipp Kramer, Xiang Zhang and Daniel Fabian
16:00 17:00 Plenary session

Back to top

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.
  • 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 30mins 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.

The goal of the workshop is to come to a better understanding of the boundaries of the field. We hope to use the late afternoon session to draw up a taxonomy of existing work and to identify the fundamental paradigmatic problems that still need to be resolved in order to reconcile reactive technologies with mainstream paradigms.


Authors are invited to submit short position papers or long technical papers using the ACM SIG Proceedings style. Papers should be submitted via EasyChair .

  • short papers: maximum 3 pages, excluding references
  • long papers: maximum 7 pages, including references
Here is the submission site.

Back to top

  • Submission deadline: August 25 Extended: September 8
  • Notification: September 8 Extended: September 18
  • SPLASH early registration deadline: September 19
  • Camera ready: October 10
  • Workshop: October 21

Back to top

  • Jonathan Edwards, Massachusetts Institute of Technology
  • Philipp Haller, Typesafe
  • Hridesh Rajan, Iowa State University
  • Chiba Shigeru, University of Tokyo
  • Dominique Devriese, Katholieke Universiteit Leuven

Back to top

Wolfgang De Meuter is a professor at the Vrije Universiteit Brussel. He leads a research group that is working on ambient-oriented programming, distributed middleware, RFID-enabled applications, cloud-oriented programming techniques, participatory sensing and reactive programming. He is the author of numerous publications in programming language engineering and won the Dahl-Nygaard Junior prize in 2008. He has been active in organizing several workshops at ECOOP and OOPSLA. He was the workshop chair of ECOOP’05 and the PC-Chair of Coordination’11. He took the initiative to organize the ECOOP workshop series on Object-oriented Language Design for the Post-Java Era which was the direct precursor of the Revival of Dynamic Languages workshop series which finally ended up in the Dynamic Languages Symposium at Splash. He has served on several PCs of Splash and Ecoop.

Guido Salvaneschi is a postdoc researcher at the Technical University of Darmstadt. He obtained his PhD from Dipartimento di Elettronica e Informazione at Politecnico di Milano, under the supervision of Prof. Carlo Ghezzi with a dissertation on context-oriented programming and language-level techniques for adaptive software. His current research interests focus on programming language design, specifically on language support for reactive applications, such as events, dataflow languages and functional reactive programming. He is also interested in self-adaptive software, with a special focus on language-level approaches and ad hoc programming paradigms such as context-oriented programming. He served in in the PC of MODULARITY’14 and FOAL’14 and co-organized the REM’13 workshop at SPLASH’13.

Patrick Eugster is an Associate Professor of Computer Science at Purdue University where he leads the Distributed Programming Group. Patrick’s area of expertise lies in the intersection of programming languages and distributed systems. Some of Patrick’s recent publications appear in ECOOP'12, ICDCS'12, DSN'12, Sensys'11, OOPSLA’11, and Middleware'11. He was PC co-chair for DEBS'12. He has served on several PCs for conferences like ECOOP, ICDCS, and Middleware. Patrick is a recipient of a NSF CAREER award among others. His work has been supported by NSF, DARPA, Northrop Grumman, Purdue Research Foundation, Google, and Amazon. He served as workshop (co-)chair of ECOOP'08 and '12. Patrick co-organized a successful SPLASH'10 workshop on Programming Support Innovations for Emerging Distributed Applications.

Lukasz Ziarek has received his Ph.D. in Computer Science from Purdue University in May 2011. He is working at the University at Buffalo the State University of New York as an Assistant Professor. He serves on the advisory board and is the acting President of Fiji Systems Inc. located in South Bend, Indiana. He has served on the program committees of HILT'14, JTRES'14, DAMP'12, JTRES'11, and JTRES'10 and is the general chair of JTRES'14. He has helped organize the local CSTA annual conference, Python workshops for HS teachers, and was the chair of the SPLASH'13 and SPLASH'14 Doctoral Symposium.

Back to top