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.
The workshop takes place on monday, October 28th in Regency C.
|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: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|
|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|
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.
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.
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.