ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA 2018
Thu 19 Jul 2018 11:25 - 11:50 at Zurich II - Asynchrony and Concurrency Chair(s): Todd Millstein

Context-aware applications, whose behavior reactively depends on the time-varying status of the surrounding environment—such as network connection, battery level, and sensors—are getting more and more pervasive and important. The term ``context-awareness'' usually suggests prompt reactions to context changes: as the context change signals that the current execution cannot be continued, the application should immediately abort its execution, possibly does some clean-up tasks, and suspend until the context allows it to restart. Interruptions, or asynchronous exceptions, are useful to achieve context-awareness. It is, however, difficult to program with interruptions in a compositional way in most programming languages because their support is too primitive, relying on synchronous exception handling mechanism such as try–catch.

We propose a new domain-specific language ContextWorkflow for interruptible programs as a solution to the problem. A basic unit of an interruptible program is a workflow, i.e., a sequence of atomic computations accompanied with compensation actions. The uniqueness of ContextWorkflow is that, during its execution, a workflow keeps watching the context between atomic actions and decides the computation should be continued, aborted, or suspended. Our contribution of this paper is as follows; (1) the design of a workflow-like language with asynchronous interruption, checkpointing, sub-workflows and suspension; (2) a formal semantics of the core language; (3) a monadic interpreter corresponding to the semantics; and (4) its concrete implementation as an embedded domain-specific language in Scala.

Thu 19 Jul
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:40: Asynchrony and ConcurrencyECOOP Research Papers at Zurich II
Chair(s): Todd MillsteinUniversity of California, Los Angeles
11:00 - 11:25
Research paper
Fault-tolerant Distributed Reactive Programming
ECOOP Research Papers
Ragnar MogkTechnische Universität Darmstadt, Lars BaumgärtnerPhilipps-Universität Marburg, Guido SalvaneschiTU Darmstadt, Bernd FreislebenPhilipps-Universität Marburg, Mira MeziniTU Darmstadt
DOI
11:25 - 11:50
Research paper
ContextWorkflow: A Monadic DSL for Compensable and Interruptible Executions
ECOOP Research Papers
Hiroaki InoueMitsubishi Electric Corporation, Japan, Tomoyuki AotaniTokyo Institute of Technology, Atsushi IgarashiKyoto University, Japan
DOI
11:50 - 12:15
Research paper
Theory and Practice of Coroutines with Snapshots
ECOOP Research Papers
Aleksandar ProkopecOracle Labs, Fengyun LiuEPFL, Switzerland
DOI
12:15 - 12:40
Research paper
A Concurrent Specification of POSIX File Systems
ECOOP Research Papers
Gian NtzikImperial College London, Pedro da Rocha PintoImperial College London, Julian SutherlandImperial College London, Philippa GardnerImperial College London
DOI