Standard

IceDust : Incremental and eventual computation of derived values in persistent object graphs. / Harkes, Daco C.; Groenewegen, Danny M.; Visser, Eelco.

30th European Conference on Object-Oriented Programming, ECOOP 2016. ed. / Shriram Krishnamurthi; Benjamin S. Lerner. Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, 2016. p. 1-26 11 (Leibniz International Proceedings in Informatics; Vol. 56).

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

Harvard

Harkes, DC, Groenewegen, DM & Visser, E 2016, IceDust: Incremental and eventual computation of derived values in persistent object graphs. in S Krishnamurthi & BS Lerner (eds), 30th European Conference on Object-Oriented Programming, ECOOP 2016., 11, Leibniz International Proceedings in Informatics, vol. 56, Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, pp. 1-26, ECOOP 2016, Rome, Italy, 18/07/16. https://doi.org/10.4230/LIPIcs.ECOOP.2016.11

APA

Harkes, D. C., Groenewegen, D. M., & Visser, E. (2016). IceDust: Incremental and eventual computation of derived values in persistent object graphs. In S. Krishnamurthi, & B. S. Lerner (Eds.), 30th European Conference on Object-Oriented Programming, ECOOP 2016 (pp. 1-26). [11] (Leibniz International Proceedings in Informatics; Vol. 56). Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing. https://doi.org/10.4230/LIPIcs.ECOOP.2016.11

Vancouver

Harkes DC, Groenewegen DM, Visser E. IceDust: Incremental and eventual computation of derived values in persistent object graphs. In Krishnamurthi S, Lerner BS, editors, 30th European Conference on Object-Oriented Programming, ECOOP 2016. Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing. 2016. p. 1-26. 11. (Leibniz International Proceedings in Informatics). https://doi.org/10.4230/LIPIcs.ECOOP.2016.11

Author

Harkes, Daco C. ; Groenewegen, Danny M. ; Visser, Eelco. / IceDust : Incremental and eventual computation of derived values in persistent object graphs. 30th European Conference on Object-Oriented Programming, ECOOP 2016. editor / Shriram Krishnamurthi ; Benjamin S. Lerner. Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, 2016. pp. 1-26 (Leibniz International Proceedings in Informatics).

BibTeX

@inproceedings{aa4479370d1c4477ab4cf227bbaf90cd,
title = "IceDust: Incremental and eventual computation of derived values in persistent object graphs",
abstract = "Derived values are values calculated from base values. They can be expressed in object-oriented languages by means of getters calculating the derived value, and in relational or logic databases by means of (materialized) views. However, switching to a different calculation strategy (for example caching) in object-oriented programming requires invasive code changes, and the databases limit expressiveness by disallowing recursive aggregation. In this paper, we present IceDust, a data modeling language for expressing derived attribute values without committing to a calculation strategy. IceDust provides three strategies for calculating derived values in persistent object graphs: Calculate-on-Read, Calculate-on-Write, and Calculate-Eventually. We have developed a path-based abstract interpretation that provides static dependency analysis to generate code for these strategies. Benchmarks show that different strategies perform better in different scenarios. In addition we have conducted a case study that suggests that derived value calculations of systems used in practice can be expressed in IceDust.",
keywords = "Data modeling, Domain specific language, Incremental computing",
author = "Harkes, {Daco C.} and Groenewegen, {Danny M.} and Eelco Visser",
year = "2016",
month = "7",
day = "1",
doi = "10.4230/LIPIcs.ECOOP.2016.11",
language = "English",
series = "Leibniz International Proceedings in Informatics",
publisher = "Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing",
pages = "1--26",
editor = "Shriram Krishnamurthi and Lerner, {Benjamin S.}",
booktitle = "30th European Conference on Object-Oriented Programming, ECOOP 2016",

}

RIS

TY - GEN

T1 - IceDust

T2 - Incremental and eventual computation of derived values in persistent object graphs

AU - Harkes, Daco C.

AU - Groenewegen, Danny M.

AU - Visser, Eelco

PY - 2016/7/1

Y1 - 2016/7/1

N2 - Derived values are values calculated from base values. They can be expressed in object-oriented languages by means of getters calculating the derived value, and in relational or logic databases by means of (materialized) views. However, switching to a different calculation strategy (for example caching) in object-oriented programming requires invasive code changes, and the databases limit expressiveness by disallowing recursive aggregation. In this paper, we present IceDust, a data modeling language for expressing derived attribute values without committing to a calculation strategy. IceDust provides three strategies for calculating derived values in persistent object graphs: Calculate-on-Read, Calculate-on-Write, and Calculate-Eventually. We have developed a path-based abstract interpretation that provides static dependency analysis to generate code for these strategies. Benchmarks show that different strategies perform better in different scenarios. In addition we have conducted a case study that suggests that derived value calculations of systems used in practice can be expressed in IceDust.

AB - Derived values are values calculated from base values. They can be expressed in object-oriented languages by means of getters calculating the derived value, and in relational or logic databases by means of (materialized) views. However, switching to a different calculation strategy (for example caching) in object-oriented programming requires invasive code changes, and the databases limit expressiveness by disallowing recursive aggregation. In this paper, we present IceDust, a data modeling language for expressing derived attribute values without committing to a calculation strategy. IceDust provides three strategies for calculating derived values in persistent object graphs: Calculate-on-Read, Calculate-on-Write, and Calculate-Eventually. We have developed a path-based abstract interpretation that provides static dependency analysis to generate code for these strategies. Benchmarks show that different strategies perform better in different scenarios. In addition we have conducted a case study that suggests that derived value calculations of systems used in practice can be expressed in IceDust.

KW - Data modeling

KW - Domain specific language

KW - Incremental computing

UR - http://www.scopus.com/inward/record.url?scp=84982852269&partnerID=8YFLogxK

U2 - 10.4230/LIPIcs.ECOOP.2016.11

DO - 10.4230/LIPIcs.ECOOP.2016.11

M3 - Conference contribution

T3 - Leibniz International Proceedings in Informatics

SP - 1

EP - 26

BT - 30th European Conference on Object-Oriented Programming, ECOOP 2016

A2 - Krishnamurthi, Shriram

A2 - Lerner, Benjamin S.

PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing

ER -

ID: 9334140