Documents

DOI

Derived values are values calculated from base values. They can be expressed with views in relational databases, or with expressions in incremental or reactive programming. However, relational views do not provide multiplicity bounds, and incremental and reactive programming require significant boilerplate code in order to encode bidirectional derived values. Moreover, the composition of various strategies for calculating derived values is either disallowed, or not checked for producing derived values which will be consistent with the derived values they depend upon. In this paper we present IceDust2, an extension of the declarative data modeling language IceDust with derived bidirectional relations with multiplicity bounds and support for statically checked composition of calculation strategies. Derived bidirectional relations, multiplicity bounds, and calculation strategies all influence runtime behavior of changes to data, leading to hundreds of possible behavior definitions. IceDust2 uses a product-line based code generator to avoid explicitly defining all possible combinations, making it easier to reason about correctness. The type system allows only sound composition of strategies and guarantees multiplicity bounds. Finally, our case studies validate the usability of IceDust2 in applications.
Original languageEnglish
Title of host publication31st European Conference on Object-Oecoopriented Programming, ECOOP 2017
EditorsPeter Müller
PublisherSchloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany
Pages1-29
Number of pages29
ISBN (Print)978-3-95977-035-4
DOIs
StatePublished - 2017
EventECOOP 2017 - Barcelona, Spain
Duration: 18 Jun 201723 Jun 2017
Conference number: 31
https://2017.ecoop.org/

Publication series

NameLeibniz International Proceedings in Informatics (LIPIcs)
PublisherSchloss Dagstuhl - Leibniz-Zentrum fuer Informatik
Number74
ISSN (Electronic)1868-8969

Conference

ConferenceECOOP 2017
CountrySpain
CityBarcelona
Period18/06/1723/06/17
Internet address

    Research areas

  • Incremental Computing, Data Modeling, Domain Specific Language

ID: 31757920