Reactive Async: Expressive Deterministic Concurrency
Concurrent programming is infamous for its difficulty. An important source of difficulty is non-determinism, stemming from unpredictable interleavings of concurrent activities. Futures and promises are widely-used abstractions that help designing deterministic concurrent programs, although this property cannot be guaranteed statically in mainstream programming languages. Deterministic-by-construction concurrent programming models avoid this issue, but they typically restrict expressiveness in important ways.
This paper introduces a concurrent programming model, Reactive Async, which decouples concurrent computations using so-called cells, shared locations which generalize futures as well as recent deterministic abstractions such as LVars. Compared to previously
proposed programming models Reactive Async provides (a) a fallback mechanism for the case where no computation ever computes the value of a given cell, and (b) explicit and optimized handling of cyclic dependencies. We present a complete implementation of the Reactive Async programming model as a library in Scala. Finally, the paper reports on a case study applying Reactive Async to static analyses of JVM bytecode based on the Opal framework.
Mon 31 OctDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:10 | Reactive, Concurrent, Distributed Computation | ParsingScala at Matterhorn 2 Chair(s): Sébastien Doeraene EPFL, Switzerland | ||
10:30 25mTalk | Practical Aggregate Programming in Scala Scala Roberto Casadei University of Bologna, Italy Media Attached | ||
10:55 25mTalk | DynaML: A Scala machine learning environment Scala Mandar Chandorkar Centrum Wiskunde & Informatica | ||
11:20 25mTalk | Scala-Gopher: CSP-style programming techniques with idiomatic Scala. Scala Ruslan Shevchenko vertamedia Media Attached | ||
11:45 25mTalk | Reactive Async: Expressive Deterministic Concurrency Scala Philipp Haller KTH Royal Institute of Technology, Simon Geries KTH Royal Institute of Technology, Sweden, Michael Eichberg TU Darmstadt, Germany, Guido Salvaneschi TU Darmstadt, Germany DOI Pre-print Media Attached |