by John Boyland
Fractional permissions use fractions to distinguish write access (1) from read access (any smaller fraction). Nesting (an extension of adoption) can be used to model object invariants and ownership. Indeed nesting extends both in a form of ``monotonically increasing invariants.'' Fractional permissions thus provides a foundation for defining the meaning of a large variety of access-based annotations: uniqueness, read-only, immutability, method effects, lock protected state etc. In this paper we give a semantics of fractional permissions with nesting (adoption), in terms of ``fractional heaps'' indicating the mutable state that can be accessed using each permission. We show that fractions are sound and that the system satisfies separation properties.
@techreport(boyland:07frac-nesting,
author = {John Boyland}
title = {Semantics of Fractional Permissions with Nesting},
institution = {University of Wisconsin-Milwaukee, Dept.\ of EE \& CS},
number = {CS-07-01},
month = dec,
year = 2007)
The technical report is available in PDF. The electronic appendix (machine-checked proofs) is also available.
Last Modified: December 5, 2007
Semantics of Fractional Permissions with Nesting / boyland@cs.uwm.edu