Workshop on Reactive and Event-based Languages & Systems

with Splash
October 2015
Pittsburgh, USA


Workshop on Reactive and Event-based Languages & Systems

with Splash, Pittsburgh, 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


Self-Adjusting Computation: Practical Abstractions for Dynamic Software (Umut Acar)

Developing efficient and reliable software is a difficult task. Rapidly growing and dynamically changing data sets further increase complexity by demanding higher efficiency and performance. In this talk, I will present practical and powerful abstractions for taming software complexity in this domain. Together with the algorithmic models and programming-languages that embody them, these abstractions enable designing and developing efficient and reliable software by using high-level programming techniques. As evidence for their effectiveness, I will present results from a broad range of applications including sophisticated algorithms in geometry, machine-learning, and large-scale cloud computing. On the theoretical side, we will see that asymptotically significant improvements in efficiency are possible. On the practical side, we will discuss several programming-language extensions that can realize these theoretical outcomes in practice.

Bio: Umut Acar is an Associate Professor at Carnegie Mellon University. He obtained his Ph.D. at Carnegie Mellon University (2005), and his M.A. and B.S. degrees at University of Texas at Austin and Bilkent University. Between 2005 and 2012, he was a researcher in Toyota Technological Institute and Max Planck Institute for Software Systems. Acar's research interests span programming languages, algorithms, and software systems.


Invited Industrial Talk

Playful but not a Toy: Views on Reactive Programming from within a Large Software Project (Johannes Emerich)

Prezi is a multi-platform, cloud-based presentation software comprising a complex document authoring tool and graphics engine. To address the challenges in developing such large and heavily interactive applications at scale, especially in the browser space, Prezi has started to engage and invest in (functional) reactive programming technologies - including Bacon.js, ReactiveCocoa and the recent Elm language. We will discuss the motivation to adopt reactive programming, its benefits for developing interactive software and the challenges it poses when using it in designing large systems Finally, we will outline future plans for reactive programming at Prezi.

Bio: Johannes Emerich is a platform engineer in Prezi’s JavaScript team, providing tooling for Prezi’s polyglot development approach. He holds a BSc in Cognitive Science from the University of Osnabrück (Germany), and a MSc in Logic from the University of Amsterdam.


Accepted papers


Title Authors Download
Reactive Traversal of Recursive Data Types Francisco Sant'Anna, Hisham Muhammad and Johnicholas Hines
Functional Reactive Programming with nothing but Promises Alan Jeffrey and Tom Van Cutsem
Type Safe Evolution of Live Systems Miguel Domingues and João Costa Seco
Live Programming for Event-Based Languages Christopher Schuster and Cormac Flanagan
Type Inference of Asynchronous Arrows in JavaScript Eric Fritz and Tian Zhao
Dynamic Condition Response Graphs as Foundation for Event-based Languages and Systems Søren Debois and Thomas Hildebrandt
Reactive Interfaces: Combining Events and Expressing Signals Ragnar Mogk
Logical Reactive Programming Thierry Renaux, Lode Hoste and Wolfgang De Meuter
Indexing RETE’s Working Memory Simon Van de Water, Thierry Renaux, Lode Hoste and Wolfgang De Meuter
Temporal Correlation Patterns Oliver Bračevac
Declarative Deadlines in Functional-Reactive Programming Kevin Baldor and Jianwei Niu

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 (we suggest Option 2). 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 7 Extended: August 17
  • Notification: September 7, 2015 September 22
  • SPLASH early registration deadline: September 25, 2015
  • Camera ready: October 9, 2015
  • Workshop: October 27, 2015

Back to top

  • Umut Acar, Carnegie Mellon University
  • Shigeru Chiba, University of Tokyo
  • Dominique Devriese, Katholieke Universiteit Leuven
  • Jonathan Edwards, Massachusetts Institute of Technology
  • Philipp Haller, KTH Royal Institute of Technology
  • Hridesh Rajan, Iowa State University

Back to top

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, FOAL’14, Scala'15, co-organized the REM’13 workshop at SPLASH’13 and the REBLS'14 workshop at SPLASH’14.

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.

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