Multitudes of Objects: First Implementation and Case Study for Java
(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:
https://lup.lub.lu.se/record/4882637
- author
- Steimann, Friedrich ; Öqvist, Jesper LU and Hedin, Görel LU
- organization
- publishing date
- 2014
- 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}}, }