Standard

IceDust 2 : Derived Bidirectional Relations and Calculation Strategy Composition. / Harkes, Daco; Visser, Eelco.

31st European Conference on Object-Oecoopriented Programming, ECOOP 2017. ed. / Peter Müller. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, 2017. p. 1-29 (Leibniz International Proceedings in Informatics (LIPIcs); No. 74).

Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

Harvard

Harkes, D & Visser, E 2017, IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition. in P Müller (ed.), 31st European Conference on Object-Oecoopriented Programming, ECOOP 2017. Leibniz International Proceedings in Informatics (LIPIcs), no. 74, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, pp. 1-29, ECOOP 2017, Barcelona, Spain, 18/06/17. https://doi.org/10.4230/LIPIcs.ECOOP.2017.14

APA

Harkes, D., & Visser, E. (2017). IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition. In P. Müller (Ed.), 31st European Conference on Object-Oecoopriented Programming, ECOOP 2017 (pp. 1-29). (Leibniz International Proceedings in Informatics (LIPIcs); No. 74). Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany. https://doi.org/10.4230/LIPIcs.ECOOP.2017.14

Vancouver

Harkes D, Visser E. IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition. In Müller P, editor, 31st European Conference on Object-Oecoopriented Programming, ECOOP 2017. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany. 2017. p. 1-29. (Leibniz International Proceedings in Informatics (LIPIcs); 74). https://doi.org/10.4230/LIPIcs.ECOOP.2017.14

Author

Harkes, Daco ; Visser, Eelco. / IceDust 2 : Derived Bidirectional Relations and Calculation Strategy Composition. 31st European Conference on Object-Oecoopriented Programming, ECOOP 2017. editor / Peter Müller. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany, 2017. pp. 1-29 (Leibniz International Proceedings in Informatics (LIPIcs); 74).

BibTeX

@inproceedings{126706e8456f47d5902df8c57a6efbac,
title = "IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition",
abstract = "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.",
keywords = "Incremental Computing, Data Modeling, Domain Specific Language",
author = "Daco Harkes and Eelco Visser",
year = "2017",
doi = "10.4230/LIPIcs.ECOOP.2017.14",
language = "English",
isbn = "978-3-95977-035-4",
series = "Leibniz International Proceedings in Informatics (LIPIcs)",
publisher = "Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany",
number = "74",
pages = "1--29",
editor = "M{\"u}ller, {Peter }",
booktitle = "31st European Conference on Object-Oecoopriented Programming, ECOOP 2017",

}

RIS

TY - GEN

T1 - IceDust 2

T2 - Derived Bidirectional Relations and Calculation Strategy Composition

AU - Harkes, Daco

AU - Visser, Eelco

PY - 2017

Y1 - 2017

N2 - 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.

AB - 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.

KW - Incremental Computing

KW - Data Modeling

KW - Domain Specific Language

UR - http://resolver.tudelft.nl/uuid:126706e8-456f-47d5-902d-f8c57a6efbac

U2 - 10.4230/LIPIcs.ECOOP.2017.14

DO - 10.4230/LIPIcs.ECOOP.2017.14

M3 - Conference contribution

SN - 978-3-95977-035-4

T3 - Leibniz International Proceedings in Informatics (LIPIcs)

SP - 1

EP - 29

BT - 31st European Conference on Object-Oecoopriented Programming, ECOOP 2017

A2 - Müller, Peter

PB - Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany

ER -

ID: 31757920