Scala 2016
Sun 30 - Mon 31 October 2016 Amsterdam, Netherlands
co-located with SPLASH 2016

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: (GMT+02:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:10: Scala - Reactive, Concurrent, Distributed Computation | Parsing at Matterhorn 2
Chair(s): Sébastien DoeraeneEPFL, Switzerland
scala-201610:30 - 10:55
Roberto CasadeiUniversity of Bologna, Italy
Media Attached
scala-201610:55 - 11:20
Mandar ChandorkarCentrum Wiskunde & Informatica
scala-201611:20 - 11:45
Media Attached
scala-201611:45 - 12:10
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