Mon 5 Nov 2018 14:30 - 15:00 at Cabot - Parallel Systems

Expressive actor models combine aspects of functional programming into the pure actor model enriched with futures. Such functional features include first-class closures which can be passed between actors and chained on futures. Combined with mutable objects, this opens the door to race conditions. In some situations, closures may not be evaluated by the actor that created them yet may access fields or objects owned by that actor. In other situations, closures may be safely fired off to run as a separate task.

This paper discusses the problem of who can safely evaluate a closure and how to avoid race conditions, and presents the current solution to the problem adopted in the Encore programming language. The solution appeals to Encore’s capability type system, which is used to influence whether a closure is attached and must be evaluated by the creating actor, or whether it can be detached and evaluated independently of its creator.

Encore’s solution is not the final answer. We conclude the paper with a number of open problems related to dealing with closures in the actor model.

Mon 5 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:30 - 15:00
Parallel SystemsAGERE at Cabot
13:30
30m
Talk
Chocola: Integrating Futures, Actors, and Transactions
AGERE
Janwillem Swalens Vrije Universiteit Brussel, Joeri De Koster Vrije Universiteit Brussel, Belgium, Wolfgang De Meuter Vrije Universiteit Brussel
Pre-print
14:00
30m
Talk
Concurrent Garbage Collection in the Actor Model
AGERE
Dan Plyukhin , Gul Agha University of Illinois at Urbana-Champaign, USA
14:30
30m
Talk
Attached and Detached Closures in Actors
AGERE
Elias Castegren Uppsala University, Dave Clarke Uppsala Univ. Sweden and KU Leuvern, Kiko Fernandez-Reyes Uppsala University, Tobias Wrigstad Uppsala University, Albert Mingkun Yang Uppsala University