License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.7.2.4
URN: urn:nbn:de:0030-drops-140287
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2021/14028/
Go back to Dagstuhl Artifacts Series


Bessai, Jan ; Heineman, George T. ; Düdder, Boris

Covariant Conversions (CoCo): A Design Pattern for Type-Safe Modular Software Evolution in Object-Oriented Systems (Artifact)

pdf-format:
DARTS-7-2-4.pdf (0.5 MB)


Abstract

This artifact contains code illustrating the Covariant Conversions (CoCo) design pattern in Java, Scala, and C#. The CoCo pattern shows how to solve the expression problem in modern object-oriented languages without the need for language extensions. It structures code so that adding new classes and new methods is possible without changes to existing implementations. The artifact is a live image of a Linux machine for archival purposes. It allows to boot into an environment which has an IDE installed to inspect the code. Build infrastructure to compile, run, test, and benchmark the code without internet access is also included.

BibTeX - Entry

@Article{bessai_et_al:DARTS.7.2.4,
  author =	{Bessai, Jan and Heineman, George T. and D\"{u}dder, Boris},
  title =	{{Covariant Conversions (CoCo): A Design Pattern for Type-Safe Modular Software Evolution in Object-Oriented Systems (Artifact)}},
  pages =	{4:1--4:4},
  journal =	{Dagstuhl Artifacts Series},
  ISSN =	{2509-8195},
  year =	{2021},
  volume =	{7},
  number =	{2},
  editor =	{Bessai, Jan and Heineman, George T. and D\"{u}dder, Boris},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2021/14028},
  URN =		{urn:nbn:de:0030-drops-140287},
  doi =		{10.4230/DARTS.7.2.4},
  annote =	{Keywords: Expression problem, software evolution, type safety, producer method, binary method}
}

Keywords: Expression problem, software evolution, type safety, producer method, binary method
Collection: DARTS, Volume 7, Issue 2, Special Issue of the 35th European Conference on Object-Oriented Programming (ECOOP 2021)
Related Scholarly Article: https://doi.org/10.4230/LIPIcs.ECOOP.2021.4
Issue Date: 2021
Date of publication: 06.07.2021


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI