Abstract
In this paper we investigate the addition of first-class relationships to a prototypical object-oriented programming language (a “middleweight” fragment of Java). We provide language-level constructs to declare relationships between classes and to manipulate relationship instances. We allow relationships to have attributes and provide a novel notion of relationship inheritance. We formalize our language giving both the type system and operational semantics and prove certain key safety properties.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Albano, A., Ghelli, G., Orsini, R.: A relationship mechanism for a strongly typed object-oriented database programming language. In: Proceedings of VLDB (1991)
Anderson, C., Drossopoulou, S.: δ: An imperative object-based calculus with delegation. In: Proceedings of USE (2002)
Bierman, G., Meijer, E., Schulte, W.: The essence of Cω. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 287–311. Springer, Heidelberg (2005)
Bierman, G., Parkinson, M., Pitts, A.: MJ: A core imperative calculus for Java and Java with effects. Technical Report 563, University of Cambridge Computer Laboratory (2003)
Chen, P.P.-S.: The entity-relationship model – toward a unified view of data. ACM Transactions on Database Systems 1(1), 9–36 (1976)
Drossopoulou, S.: An abstract model of Java dynamic linking and loading. In: Harper, R. (ed.) TIC 2000. LNCS, vol. 2071, p. 53. Springer, Heidelberg (2001)
Drossopoulou, S., Valkevych, T., Eisenbach, S.: Java type soundness revisited (September 2000)
Flatt, M., Krishnamurthi, S., Felleisen, M.: Classes and mixins. In: Proceedings of POPL, pp. 171–183 (1998)
Jacobson, I., Booch, G., Rumbaugh, J.: The unified software development process. Addison-Wesley, Reading (1999)
Noble, J.: Basic relationship patterns. In: Pattern Languages of Program Design, vol. 4. Addison-Wesley, Reading (1999)
Noble, J., Grundy, J.: Explicit relationships in object-oriented development. In: Proceedings of TOOLS (1995)
Cattell, R.G.G., et al.: The Object Data Standard: ODMG 3.0. Morgan Kaufmann, San Francisco (2000)
Rumbaugh, J.: Relations as semantic constructs in an object-oriented language. In: Proceedings of OOPSLA, pp. 466–481 (1987)
Smith, J., Smith, D.: Database abstractions: Aggregation and generalizations. ACM Transactions on Database Systems 2(2), 105–133 (1977)
Stevens, P., Pooley, R.: Using UML: software engineering with objects and components. Addison-Wesley, Reading (1999)
Ungar, D., Smith, R.B.: Self: The power of simplicity. In: Proceedings of OOPSLA, pp. 227–242. ACM Press, New York (1987)
Wright, A.K., Felleisen, M.: A syntactic approach to type soundness. Information and Computation 115(1), 38–94 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bierman, G., Wren, A. (2005). First-Class Relationships in an Object-Oriented Language. In: Black, A.P. (eds) ECOOP 2005 - Object-Oriented Programming. ECOOP 2005. Lecture Notes in Computer Science, vol 3586. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11531142_12
Download citation
DOI: https://doi.org/10.1007/11531142_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-27992-1
Online ISBN: 978-3-540-31725-8
eBook Packages: Computer ScienceComputer Science (R0)