Multiple Aggregate Entry Points for Ownership Types

  • Johan Östlund
  • Tobias Wrigstad
Conference paper

DOI: 10.1007/978-3-642-31057-7_8

Volume 7313 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Östlund J., Wrigstad T. (2012) Multiple Aggregate Entry Points for Ownership Types. In: Noble J. (eds) ECOOP 2012 – Object-Oriented Programming. ECOOP 2012. Lecture Notes in Computer Science, vol 7313. Springer, Berlin, Heidelberg

Abstract

Deep ownership types gives a strong notion of aggregate by enforcing the so-called owners-as-dominators property: every path from a system root to an object must pass through its owner. Consequently, encapsulated aggregates must have a single bridge object that mediates all external interaction with its internal objects.

In this paper, we present an extension of deep ownership that relaxes the single bridge object constraint and allows several bridge objects to collectively define an aggregate with a shared representation. We call such bridge objects ombudsmen to emphasise their benevolent nature; ombudsmen-sharing is explicit and all ombudsmen are created internal to the aggregate, purposely.

The resulting system brings the aggregate notion close to the component notion found in e.g., UML by clearly separating aggregation from the stronger composition, and further allows expressing common programming patterns such as iterators without resorting to systems that give unclear or unprincipled guarantees, or require additional complex machinery such as read-only references.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Johan Östlund
    • 1
  • Tobias Wrigstad
    • 1
  1. 1.Uppsala UniversitySweden