Exploring The Design Space For Runtime Enforcement of Dynamic Capabilities
This program is tentative and subject to change.
Dala is an ``as simple as possible'' concurrent object-oriented language designed to avoid data races. Dala objects come in three safe flavours: immutable, isolated, and local — plus an unsafe flavour — organised into a hierarchy so that e.g. immutable objects can be accessed from anywhere but never mutated, while thread local objects can be mutated but cannot be accessed outside their containing thread.
Dala’s flavours hierarchy is intended to be enforced at runtime: unfortunately it is not clear when and how best to undertake that enforcement.
In this paper we present six axes of variation for the dynamic enforcement of Dala capabilities: when each safe flavour is enforced, how isolated objects are moved, how new objects are assigned a flavour, and whether objects’ flavours can change over time. These six axes embody 2880 different combinations: we present five exemplary designs and discuss how they are placed on those those axes. Programming language designers can use our analysis to inform the design of dynamic capabilities in their languages, while the analysis may also help programmers understand what language designers have done.
This program is tentative and subject to change.
Fri 17 OctDisplayed time zone: Perth change
16:00 - 17:30 | |||
16:00 30mTalk | Exploring The Design Space For Runtime Enforcement of Dynamic Capabilities Onward! Papers Andrew Fawcett Victoria University of Wellington, James Noble Independent. Wellington, NZ, Michael Homer Victoria University of Wellington | ||
16:30 30mTalk | Synchronous Programming for Kids: A Manifesto Onward! Papers Jean Pichon-Pharabod Aarhus University |