REM 2013

Workshop on Reactivity, Events and Modularity

with Splash
October 2013
Indianapolis, USA

Check the schedule and download the accepted papers and presentations.

REM '13

Workshop on Reactivity, Events and Modularity

with Splash, October 2013 @ Indianapolis, USA

Check the schedule and download the accepted papers and presentations.

Programming reactive applications is a challenging task. Reactivity must be properly expressed by suitable language abstractions, reactive code must be modular and extensible, easy to understand and to analyze. Researchers have proposed several solutions to address this issue, including event-based programming, functional reactive programming and aspect-oriented programming. Many synergies exist between paradigms such as implicit invocations, aspects and joinpoints, asynchronous methods, first-class events, purely functional reactive frameworks and design and architectural patterns such as subject/observer and publish/subscribe respectively. The different paradigms have emerged from different communities, and with different motivations ranging from decoupling of runtime components in distributed and concurrent applications to decoupling of software modules, and consequently also exhibit subtle yet important differences in characteristics and semantics.

With the ever increasing pervasiveness of reactive, concurrent, and distributed systems, this workshop serves as a conduit for novel work in the context of reactive software design and implementation broadly construed, i.e., related to any of the above paradigms. Of particular interest is work which bridges between the different paradigms and helps clarify the relations between them. This workshop will gather researchers active in different communities. Among the goals 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

Start End Title Authors Download
8:30 8:40 Welcome and introduction
8:40 9:30 KEYNOTE: Glitch: A Live Programming Model Sean McDirmid
9:30 10:00 Advanced Control Reactivity for Embedded Systems Francisco Sant'Anna, Noemi Rodriguez and Roberto Ierusalimschy
10:00 10:30 Coffee break
10:30 11:00 Object-oriented Reactive Programming is Not Reactive Object-oriented Programming Elisa Gonzalez Boix, Kevin Pinte, Simon Van de Water and Wolfgang De Meuter
11:00 11:30 Reactive Lenses Ingo Maier
11:30 12:00 RAY: Integrating Rx and Async for Direct-Style Reactive Streams Philipp Haller and Heather Miller
12:00 13:30 Lunch
13:30 14:00 Complex Event Processing with Event Modules Somayeh Malakuti
14:00 14:30 Ways to React: Comparing Reactive Languages and Complex Event Processing Alessandro Margara and Guido Salvaneschi
14:30 15:00 Mapping Context-Dependent Requirements to Event-Based Context-Oriented Programs for Modularity Tetsuo Kamina, Tomoyuki Aotani and Hidehiko Masuhara
15:00 15:30 Coffee break
15:30 16:30 Breakout groups
16:30 17:00 Plenary session

Back to top

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.

  • Event-based systems and languages
  • Functional-reactive programming, self-adjusting computation and incremental computing.
  • Reactive data structures, view maintenance, constraint-based and dataflow languages
  • Design and implementation of aspects for event-based programming
  • Abstractions unifying implicit invocations/events and explicit events
  • Advanced event systems, event quantification, event composition
  • Interaction of reactive and event-based programming with existing language features such as object-oriented programming and mutable state
  • Analysis and studies of modularity in reactive and event-based software
  • Runtime support for reactive software
  • Reactivity in concurrency and distributed systems
  • Aspects and events for reactive programming
  • Aspects and events for dealing with mobility or security
  • Foundational models of reactive paradigms
  • Type systems for reactive languages
  • Taxonomies for aspects and events
  • Software engineering metrics for aspect- and event-oriented software development
  • Benchmark and reproduction studies of reactive systems
  • Complex event processing
  • Applications, case studies and empirical studies on reactive programming
  • Patterns and best-practices
  • IDEs, tools
  • Implementation technology, virtual machine support, compilers

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

Papers accepted for publication at the workshop and related to aspects and/or events as well as modularity will be invited to submit extended drafts for consideration for an upcoming special issue of the Transactions on Aspect Oriented Development (TAOSD) dedicated to the topic of Events, Aspects, and Modularity.

Back to top

  • Submission deadline: August 13, Extended: August 22 Extended: September 3
  • Notification: September 13 October 2
  • SPLASH early registration deadline: September 27
  • Workshop: October 28

Back to top

  • Gregory Cooper, Brown University
  • Philipp Haller, Typesafe
  • Wouter Joosen, Katholieke Universiteit Leuven
  • Hridesh Rajan, Iowa State University
  • John Reppy, University of Chicago
  • Chiba Shigeru, University of Tokyo

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.

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.

Kevin Pinte is a PhD student working at the Vrije Universiteit Brussel where he obtained his master's degree in computer science with a dissertation on programming language abstractions for RFID technology. His current research focusses on reactive collections for improving programmer productivity in developing RFID-enabled mobile applications. He is also working on reactive programming in AmbientTalk: an experimental distributed programming language tailored towards applications operating in mobile ad hoc networks. His research interests include programming language design, RFID technology, reactive programming, and distributed languages and middleware for mobile applications.

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.

Mario Südholt is a professor in Computer Science at École des Mines de Nantes, France, where he holds the Software Engineering and Programming Languages chair. He holds an MSc from U. Koblenz, Germany, a PhD from TU Berlin, Germany, and a habilitation from University of Nantes, France. He heads the ASCOLA research team, a joint team of EMNantes, INRIA and the LINA (CNRS) institute. His main research interests focus on programming languages and large-scale distributed systems, their modular definition and (formal) compositional properties. From 2011-13, Prof. Südholt chaired the international association of AOSD, including the steering committee of the AOSD conference. He is a member of the steering committee of the international conference on Software Composition and serves on the editorial board of the Transactions on AOSD. He has co-authored over 90 peer-reviewed papers at international venues, including ACM TOPLAS, IEEE TSE, Computer and Software, Middleware and ECOOP.

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 DAMP'12, JTRES'11, and JTRES'10. He has helped organize the local CSTA annual conference, Python workshops for HS teachers, and is the chair of the SPLASH'13 Doctoral Symposium.


For questions please contact:
For updates, follow us on Twitter: @rem_workshop