Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Multitudes of Objects: First Implementation and Case Study for Java

Steimann, Friedrich ; Öqvist, Jesper LU and Hedin, Görel LU orcid (2014) In Journal of Object Technology 13(5). p.1-33
Abstract
In object-oriented programs, the relationship of an object to

many objects is usually implemented using indirection through a collection.

This is in contrast to a relationship to one object, which is usually

implemented directly. However, using collections for relationships to many

objects does not only mean that accessing the related objects always requires

accessing the collection first, it also presents a lurking maintenance

problem that manifests itself when a relationship needs to be changed from

to-one to to-many or vice versa. Continuing our prior work on fixing this

problem, we show how we have extended the Java 7 programming language

with... (More)
In object-oriented programs, the relationship of an object to

many objects is usually implemented using indirection through a collection.

This is in contrast to a relationship to one object, which is usually

implemented directly. However, using collections for relationships to many

objects does not only mean that accessing the related objects always requires

accessing the collection first, it also presents a lurking maintenance

problem that manifests itself when a relationship needs to be changed from

to-one to to-many or vice versa. Continuing our prior work on fixing this

problem, we show how we have extended the Java 7 programming language

with multiplicities, that is, with expressions that evaluate to a number of

objects not wrapped in a container, and report on the experience we have

gathered using these multiplicities in a case study. (Less)
Please use this url to cite or link to this publication:
author
; and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
Java, Multiplicities, Compiler Design, Language Design, Programming Language Design
in
Journal of Object Technology
volume
13
issue
5
pages
1 - 33
publisher
ETH, Zürich
external identifiers
  • scopus:84917741679
ISSN
1660-1769
DOI
10.5381/jot.2014.13.5.a1
project
Contributions to Declarative Implementation of Static Program Analysis
ELLIIT LU P05: Scalable Language Tools for Cyber-Physical Systems
language
English
LU publication?
yes
id
fa0fac30-db58-44cd-a135-fe6309a6c97d (old id 4882637)
date added to LUP
2016-04-01 13:24:03
date last changed
2022-01-27 19:03:00
@article{fa0fac30-db58-44cd-a135-fe6309a6c97d,
  abstract     = {{In object-oriented programs, the relationship of an object to<br/><br>
many objects is usually implemented using indirection through a collection.<br/><br>
This is in contrast to a relationship to one object, which is usually<br/><br>
implemented directly. However, using collections for relationships to many<br/><br>
objects does not only mean that accessing the related objects always requires<br/><br>
accessing the collection first, it also presents a lurking maintenance<br/><br>
problem that manifests itself when a relationship needs to be changed from<br/><br>
to-one to to-many or vice versa. Continuing our prior work on fixing this<br/><br>
problem, we show how we have extended the Java 7 programming language<br/><br>
with multiplicities, that is, with expressions that evaluate to a number of<br/><br>
objects not wrapped in a container, and report on the experience we have<br/><br>
gathered using these multiplicities in a case study.}},
  author       = {{Steimann, Friedrich and Öqvist, Jesper and Hedin, Görel}},
  issn         = {{1660-1769}},
  keywords     = {{Java; Multiplicities; Compiler Design; Language Design; Programming Language Design}},
  language     = {{eng}},
  number       = {{5}},
  pages        = {{1--33}},
  publisher    = {{ETH, Zürich}},
  series       = {{Journal of Object Technology}},
  title        = {{Multitudes of Objects: First Implementation and Case Study for Java}},
  url          = {{https://lup.lub.lu.se/search/files/3346393/4882638.pdf}},
  doi          = {{10.5381/jot.2014.13.5.a1}},
  volume       = {{13}},
  year         = {{2014}},
}