Department of Computer Science and Technology

Technical reports

First-class relationships in an object-oriented language

Gavin Bierman, Alisdair Wren

August 2005, 53 pages

DOI: 10.48456/tr-642

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.

Full text

PDF (0.5 MB)

BibTeX record

@TechReport{UCAM-CL-TR-642,
  author =	 {Bierman, Gavin and Wren, Alisdair},
  title = 	 {{First-class relationships in an object-oriented language}},
  year = 	 2005,
  month = 	 aug,
  url = 	 {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-642.pdf},
  institution =  {University of Cambridge, Computer Laboratory},
  doi = 	 {10.48456/tr-642},
  number = 	 {UCAM-CL-TR-642}
}