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

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:40
Asynchrony and ConcurrencyECOOP Research Papers at Zurich II
Chair(s): Todd Millstein University of California, Los Angeles
11:00
25m
Research paper
Fault-tolerant Distributed Reactive Programming
ECOOP Research Papers
Ragnar Mogk Technische Universität Darmstadt, Lars Baumgärtner Philipps-Universität Marburg, Guido Salvaneschi TU Darmstadt, Bernd Freisleben Philipps-Universität Marburg, Mira Mezini TU Darmstadt
DOI
11:25
25m
Research paper
ContextWorkflow: A Monadic DSL for Compensable and Interruptible Executions
ECOOP Research Papers
Hiroaki Inoue Mitsubishi Electric Corporation, Japan, Tomoyuki Aotani Tokyo Institute of Technology, Atsushi Igarashi Kyoto University, Japan
DOI
11:50
25m
Research paper
Theory and Practice of Coroutines with Snapshots
ECOOP Research Papers
Aleksandar Prokopec Oracle Labs, Fengyun Liu EPFL, Switzerland
DOI
12:15
25m
Research paper
A Concurrent Specification of POSIX File Systems
ECOOP Research Papers
Gian Ntzik Imperial College London, Pedro da Rocha Pinto Imperial College London, Julian Sutherland Imperial College London, Philippa Gardner Imperial College London
DOI