Computer Laboratory

Technical reports

First-class relationships in an object-oriented language

Gavin Bierman, Alisdair Wren

August 2005, 53 pages


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

  author =	 {Bierman, Gavin and Wren, Alisdair},
  title = 	 {{First-class relationships in an object-oriented language}},
  year = 	 2005,
  month = 	 aug,
  url = 	 {},
  institution =  {University of Cambridge, Computer Laboratory},
  number = 	 {UCAM-CL-TR-642}