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.
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:
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.
|8:30||9:00||Welcome and introduction|
|9:00||10:00||KEYNOTE: Elm: Functional Reactive Programming for Front-End Applications||Evan Czaplicki|
|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|
|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:30||16:00||Alea Reactive Dataflow: GPU Parallelization Made Simple||Luc Bläser, Daniel Egloff, Oskar Knobel, Philipp Kramer, Xiang Zhang and Daniel Fabian|
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.
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.
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.