Unifying Theories of Locations

We present a Unifying Theories of Programming (UTP) model of locations, where a location is either shareable or containable depending on whether its value can be dereferenced by a pointer. Our model of locations is similar to previous work on pointers within the UTP; the main difference is that the previous work on pointers only modelled shareable locations. We explain why containable locations (whose values must be copied rather than aliased) are useful, present an outline of our UTP model, and compare it to existing work on UTP. We hope to convince the reader that a general model of pointers within the UTP ought to be able to represent both shareable and containable locations.

[1]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[2]  David Gerard Clarke,et al.  Object ownership and containment , 2003 .

[3]  C. A. R. Hoare,et al.  Unifying theories of programming , 1998, RelMiCS.

[4]  C. A. R. Hoare,et al.  A Trace Model for Pointers and Objects , 1999, ECOOP.

[5]  Jim Woodcock,et al.  Pointers and Records in the Unifying Theories of Programming , 2006, UTP.

[6]  James Noble,et al.  Ownership types for flexible alias protection , 1998, OOPSLA '98.

[7]  James Noble,et al.  Object ownership for dynamic alias protection , 1999, Proceedings Technology of Object-Oriented Languages and Systems. TOOLS 32.

[8]  Michael Anthony Smith,et al.  Unifying Theories of Objects , 2007, IFM.

[9]  Richard F. Paige,et al.  ERC – An object-oriented refinement calculus for Eiffel , 2003, Formal Aspects of Computing.

[10]  Birgit Schieder Pointer Theory and Weakest Preconditions without Addresses and Heap , 2004, MPC.