Advertisement

On Ownership and Accessibility

  • Yi Lu
  • John Potter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4067)

Abstract

Ownership types support information hiding by providing statically enforceable object encapsulation based on an ownership tree. However ownership type systems impose fixed ownership and an inflexible access policy. This paper proposes a novel type system which generalizes ownership types by separating object accessibility and reference capability. With the ability to hide owners, it provides a more flexible and useful model of object ownership.

Keywords

Type System Ownership Type Dynamic Semantic Context Parameter Node Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aldrich, J., Chambers, C.: Ownership Domains: Separating Aliasing Policy from Mechanism. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 1–25. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Almeida, P.S.: Balloon Types: Controlling Sharing of State in Data Types. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 32–59. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  3. 3.
    Birka, A., Ernst, M.D.: A practical type system and language for reference immutability. In: OOPSLA 2004: Proceedings of the 19th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 35–49. ACM Press, New York (2004)CrossRefGoogle Scholar
  4. 4.
    Boyapati, C., Liskov, B., Shrira, L.: Ownership types for object encapsulation. In: Proceedings of the 30th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 213–223. ACM Press, New York (2003)CrossRefGoogle Scholar
  5. 5.
    Boyland, J., Noble, J., Retert, W.: Capabilities for Sharing. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 2–27. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Boyland, J.T., Retert, W.: Connecting effects and uniqueness with adoption. In: POPL 2005: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 283–295. ACM Press, New York (2005)CrossRefGoogle Scholar
  7. 7.
    Clarke, D.: Object Ownership and Containment. PhD thesis, School of Computer Science and Engineering, The University of New South Wales, Sydney, Australia (2001)Google Scholar
  8. 8.
    Clarke, D., Wrigstad, T.: External uniqueness is unique enough. In: Cardelli, L. (ed.) ECOOP 2003. LNCS, vol. 2743, Springer, Heidelberg (2003)Google Scholar
  9. 9.
    Clarke, D.G., Drossopoulou, S.: Ownership, encapsulation and disjointness of type and effect. In: 17th Annual Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (November 2002)Google Scholar
  10. 10.
    Clarke, D.G., Noble, J., Potter, J.M.: Simple Ownership Types for Object Containment. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Clarke, D.G., Potter, J.M., Noble, J.: Ownership types for flexible alias protection. In: Proceedings of the 13th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 48–64. ACM Press, New York (1998)CrossRefGoogle Scholar
  12. 12.
    Fahndrich, M., DeLine, R.: Adoption and focus: practical linear types for imperative programming. In: PLDI 2002: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, pp. 13–24. ACM Press, New York (2002)CrossRefGoogle Scholar
  13. 13.
    Hogg, J.: Islands: aliasing protection in object-oriented languages. In: OOPSLA 1991: Proceedings of Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 271–285. ACM Press, New York (1991)CrossRefGoogle Scholar
  14. 14.
    Igarashi, A., Pierce, B., Wadler, P.: Featherweight Java: A minimal core calculus for Java and GJ. In: Meissner, L. (ed.) Proceedings of the 1999 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 1999), N. Y., vol. 34(10), pp. 132–146 (1999)Google Scholar
  15. 15.
    Igarashi, A., Viroli, M.: On variance-based subtyping for parametric types. In: Proceedings of the 16th European Conference on Object-Oriented Programming, pp. 441–469. Springer, Heidelberg (2002)Google Scholar
  16. 16.
    Lu, Y., Potter, J.: A type system for reachability and acyclicity. In: Proceedings of the 19th European Conference on Object-Oriented Programming, pp. 479–503. Springer, Heidelberg (2005)Google Scholar
  17. 17.
    Lu, Y., Potter, J.: Protecting representation with effect encapsulation. In: Proceedings of the 33th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ACM Press, New York (2006)Google Scholar
  18. 18.
    Müller, P., Poetzsch-Heffter, A.: Universes: A type system for controlling representation exposure. In: Programming Languages and Fundamentals of Programming (1999)Google Scholar
  19. 19.
    Müller, P., Poetzsch-Heffter, A.: Universes: A type system for alias and dependency control. Technical Report 279, Fernuniversität Hagen (2001)Google Scholar
  20. 20.
    Noble, J., Vitek, J., Potter, J.: Flexible Alias Protection. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, Springer, Heidelberg (1998)CrossRefGoogle Scholar
  21. 21.
    Potanin, A., Noble, J., Biddle, R.: Generic ownership: practical ownership control in programming languages. In: OOPSLA Companion, pp. 50–51 (2004)Google Scholar
  22. 22.
    Potter, J., Noble, J., Clarke, D.: The ins and outs of objects. In: Australian Software Engineering Conference, IEEE Press, Los Alamitos (1998)Google Scholar
  23. 23.
    Smith, F., Walker, D., Morrisett, G.: Alias Types. In: Smolka, G. (ed.) ESOP 2000 and ETAPS 2000. LNCS, vol. 1782, pp. 366–381. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  24. 24.
    Thorup, K.K., Torgersen, M.: Unifying Genericity: Combining the Benefits of Virtual Types and Parameterized Classes. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 186–204. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  25. 25.
    Torgersen, M., Hansen, C.P., Ernst, E., von der Ahé, P., Bracha, G., Gafter, N.M.: Adding wildcards to the java programming language. In: SAC, pp. 1289–1296 (2004)Google Scholar
  26. 26.
    Vitek, J., Bokowski, B.: Confined types. In: Proceedings of the 14th Annual Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 82–96. ACM Press, New York (1999)CrossRefGoogle Scholar
  27. 27.
    Wadler, P.: Linear types can change the world! In: Broy, M., Jones, C. (eds.) IFIP TC 2 Working Conference on Programming Concepts and Methods, Sea of Galilee, Israel, pp. 347–359. North-Holland, Amsterdam (1990)Google Scholar
  28. 28.
    Walker, D., Morrisett, G.: Alias Types for Recursive Data Structures. In: Harper, R. (ed.) TIC 2000. LNCS, vol. 2071, pp. 177–206. Springer, Heidelberg (2001)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Yi Lu
    • 1
  • John Potter
    • 1
  1. 1.Programming Languages and Compilers Group, School of Computer Science and EngineeringUniversity of New South WalesSydney

Personalised recommendations