First-Class Relationships in an Object-Oriented Language
Author(s) -
Gavin Bierman,
Alisdair Wren
Publication year - 2005
Publication title -
lecture notes in computer science
Language(s) - English
Resource type - Book series
SCImago Journal Rank - 0.249
H-Index - 400
eISSN - 1611-3349
pISSN - 0302-9743
ISBN - 3-540-27992-X
DOI - 10.1007/11531142_12
Subject(s) - computer science , programming language , inheritance (genetic algorithm) , class (philosophy) , java , object oriented programming , fragment (logic) , language construct , type safety , semantics (computer science) , operational semantics , key (lock) , object (grammar) , low level programming language , theoretical computer science , artificial intelligence , programming paradigm , programming domain , inductive programming , biochemistry , chemistry , computer security , gene
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.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom