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 Oct Times are displayed in 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 DoeraeneEPFL, Switzerland | |||
10:30 - 10:55 Talk | Practical Aggregate Programming in Scala Scala Roberto CasadeiUniversity of Bologna, Italy Media Attached | ||
10:55 - 11:20 Talk | DynaML: A Scala machine learning environment Scala Mandar ChandorkarCentrum Wiskunde & Informatica | ||
11:20 - 11:45 Talk | Scala-Gopher: CSP-style programming techniques with idiomatic Scala. Scala Ruslan Shevchenkovertamedia Media Attached | ||
11:45 - 12:10 Talk | Reactive Async: Expressive Deterministic Concurrency Scala Philipp HallerKTH Royal Institute of Technology, Simon GeriesKTH Royal Institute of Technology, Sweden, Michael EichbergTU Darmstadt, Germany, Guido SalvaneschiTU Darmstadt, Germany DOI Pre-print Media Attached |