Write a Blog >>

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.

Fri 23 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:40 - 15:20
Language and Library DesignECOOP Research Papers at Auditorium, Vertex Building
Chair(s): Sophia Drossopoulou Imperial College London
13:40
25m
Talk
IceDust 2: Derived Bidirectional Relations and Calculation Strategy Composition
ECOOP Research Papers
Daco Harkes Delft University of Technology, Eelco Visser Delft University of Technology
Link to publication DOI Media Attached
14:05
25m
Talk
Mixed Messages: Measuring Conformance and Non-Interference in TypeScript
ECOOP Research Papers
Jack Williams University of Edinburgh, J. Garrett Morris University of Edinburgh, UK, Philip Wadler University of Edinburgh, UK, Jakub Zalewski
Link to publication Media Attached
14:30
25m
Talk
EVF: An Extensible and Expressive Visitor Framework for Programming Language Reuse
ECOOP Research Papers
Weixin Zhang University of Hong Kong, Bruno C. d. S. Oliveira The University of Hong Kong
Link to publication Media Attached
14:55
25m
Talk
Data exploration through dot-driven development
ECOOP Research Papers
Tomas Petricek Alan Turing Institute
Link to publication Media Attached