ACM Home Page
Please provide us with feedback. Feedback
Multiple ownership
Full text PdfPdf (411 KB)
Source
Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications table of contents
Montreal, Quebec, Canada
SESSION: Ownership table of contents
Pages: 441 - 460  
Year of Publication: 2007
ISBN:978-1-59593-786-5
Also published in ...
Authors
Nicholas R. Cameron  Imperial College London, London, United Kingdom
Sophia Drossopoulou  Imperial College London, London, United Kingdom
James Noble  Victoria University of Wellington, Wellington, New Zealand
Matthew J. Smith  Imperial College London, London, United Kingdom
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 12,   Downloads (12 Months): 101,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1297027.1297060
What is a DOI?

ABSTRACT

Existing ownership type systems require objects to have precisely one primary owner, organizing the heap into an ownership tree. Unfortunately, a tree structure is too restrictive for many programs, and prevents many common design patterns where multiple objects interact.

Multiple Ownership is an ownership type system where objects can have more than one owner, and the resulting ownership structure forms a DAG. We give a straightforward model for multiple ownership, focusing in particular on how multiple ownership can support a powerful effects system that determines when two computations interfere-in spite of the DAG structure.

We present a core programming language MOJO, Multiple ownership for Java-like Objects, including a type and effects system, and soundness proof. In comparison to other systems, MOJO imposes absolutely no restrictions on pointers, modifications or programs' structure, but in spite of this, MOJO's effects can be used to reason about or describe programs' behaviour.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Marwan Abi-Antoun and Jonathan Aldrich. Ownership domains in the real world. In IWACO workshop at ECOOP, 2007.
 
2
Jonathan Aldrich and Craig Chambers. Ownership domains: Separating aliasing policy from mechanism. In ECOOP, 2004.
 
3
Christopher Alexander. A city is not a tree. Design, (206), 1966.
 
4
Paulo Sérgio Almeida. Balloon types: Controlling sharing of state in data types. In ECOOP, 1997.
 
5
Chris Andreae, Yvonne Coady, Celina Gibbs, James Noble, Jan Vitek, and Tian Zhao. Scoped types and aspects for real-time java. In ECOOP, 2006.
6
7
8
9
10
 
11
Nicholas Cameron, Erik Ernst, and Sophia Drossopoulou. Towards an existential types model for Java with wildcards. In FTfJP workshop at ECOOP, 2007.
 
12
13
14
 
15
 
16
Curtis Clifton, Gary T. Leavens, and James Noble. Ownership and effects for more effective reasoning about aspects. In ECOOP, 2007.
 
17
Gilles Deleuze and Félix Guattari. A Thousand Plateaus: Capitalism and Schizophrenia. U. Minnesota, 1987.
 
18
Werner Dietl, Sophia Drossopoulou, and Peter Müller. Generic universe types. In ECOOP, 2007.
 
19
Sophia Drossopoulou. The benefits of putting objects into boxes. ESOP, 2006. Invited Talk.
 
20
Cormac Flanagan, Stephen N. Freund, and Marina Lifshin. Type inference for atomicity. In TLDI, 2005.
 
21
 
22
23
 
24
Ralf Hinze. The Fun of Programming, chapter Fun with Phantom Types, pages 245--262. Palgrave Macmillan, 2003.
25
26
27
28
 
29
K. R. M. Leino and P. Müller. Object invariants in dynamic contexts. In ECOOP, 2004.
30
31
 
32
Yi Lu and John Potter. Object invariants and effects. In ECOOP, 2007.
33
 
34
Nick Mitchell. The runtime structure of object ownership. In ECOOP, 2006.
 
35
 
36
Peter Müller. Reasoning about object structures using ownership. In Verified Software: Theories, Tools, Experiments, LNCS. Springer-Verlag, 2007.
 
37
James Noble, Robert Biddle, Ewan Tempero, Alex Potanin, and Dave Clarke. Towards a model of encapsulation. In IWACO workshop at ECOOP, 2003.
 
38
39
40
 
41
Alex Potanin. Generic Ownership-A Practical Approach to Ownership and Confinement in OO Programming Languages. PhD thesis, 2007.
42
43
44
 
45
 
46
Matthew Smith. Effects system for ownership domains. In FTfJP workshop at ECOOP, 2005.
 
47
Matthew Smith. A Model of Effects with an application to Ownership Types. PhD thesis, Imperial College, 2007.
 
48
49
 
50
Tobias Wrigstad and Dave Clarke. Existential owners for ownership types. JOT, 2007.


Collaborative Colleagues:
Nicholas R. Cameron: colleagues
Sophia Drossopoulou: colleagues
James Noble: colleagues
Matthew J. Smith: colleagues