Standard

Versatile Event Correlation with Algebraic Effects. / Bračevac, Oliver; Amin, Nada; Salvaneschi, Guido; Erdweg, Sebastian; Eugster, Patrick; Mezini, Mira.

In: Proceedings of the ACM on Programming Languages, Vol. 2, No. ICFP, 67, 2018, p. 1-31.

Research output: Contribution to journalArticleScientificpeer-review

Harvard

Bračevac, O, Amin, N, Salvaneschi, G, Erdweg, S, Eugster, P & Mezini, M 2018, 'Versatile Event Correlation with Algebraic Effects', Proceedings of the ACM on Programming Languages, vol. 2, no. ICFP, 67, pp. 1-31. https://doi.org/10.1145/3236762

APA

Bračevac, O., Amin, N., Salvaneschi, G., Erdweg, S., Eugster, P., & Mezini, M. (2018). Versatile Event Correlation with Algebraic Effects. Proceedings of the ACM on Programming Languages, 2(ICFP), 1-31. [67]. https://doi.org/10.1145/3236762

Vancouver

Bračevac O, Amin N, Salvaneschi G, Erdweg S, Eugster P, Mezini M. Versatile Event Correlation with Algebraic Effects. Proceedings of the ACM on Programming Languages. 2018;2(ICFP):1-31. 67. https://doi.org/10.1145/3236762

Author

Bračevac, Oliver ; Amin, Nada ; Salvaneschi, Guido ; Erdweg, Sebastian ; Eugster, Patrick ; Mezini, Mira. / Versatile Event Correlation with Algebraic Effects. In: Proceedings of the ACM on Programming Languages. 2018 ; Vol. 2, No. ICFP. pp. 1-31.

BibTeX

@article{ddcf4edee2b2453e99a5c6a701452f88,
title = "Versatile Event Correlation with Algebraic Effects",
abstract = "We present the first language design to uniformly express variants of n-way joins over asynchronous event streams from different domains, e.g., stream-relational algebra, event processing, reactive and concurrent programming. We model asynchronous reactive programs and joins in direct style, on top of algebraic effects and handlers. Effect handlers act as modular interpreters of event notifications, enabling fine-grained control abstractions and customizable event matching. Join variants can be considered as cartesian product computations with ”degenerate” control flow, such that unnecessary tuples are not materialized a priori. Based on this computational interpretation, we decompose joins into a generic, naive enumeration procedure of the cartesian product, plus variant-specific extensions, represented in terms of user-supplied effect handlers. Our microbenchmarks validate that this extensible design avoids needless materialization. Alongside a formal semantics for joining and prototypes in Koka and multicore OCaml, we contribute a systematic comparison of the covered domains and features.",
author = "Oliver Bra{\v c}evac and Nada Amin and Guido Salvaneschi and Sebastian Erdweg and Patrick Eugster and Mira Mezini",
year = "2018",
doi = "10.1145/3236762",
language = "English",
volume = "2",
pages = "1--31",
journal = "Proceedings of the ACM on Programming Languages",
issn = "2475-1421",
number = "ICFP",

}

RIS

TY - JOUR

T1 - Versatile Event Correlation with Algebraic Effects

AU - Bračevac, Oliver

AU - Amin, Nada

AU - Salvaneschi, Guido

AU - Erdweg, Sebastian

AU - Eugster, Patrick

AU - Mezini, Mira

PY - 2018

Y1 - 2018

N2 - We present the first language design to uniformly express variants of n-way joins over asynchronous event streams from different domains, e.g., stream-relational algebra, event processing, reactive and concurrent programming. We model asynchronous reactive programs and joins in direct style, on top of algebraic effects and handlers. Effect handlers act as modular interpreters of event notifications, enabling fine-grained control abstractions and customizable event matching. Join variants can be considered as cartesian product computations with ”degenerate” control flow, such that unnecessary tuples are not materialized a priori. Based on this computational interpretation, we decompose joins into a generic, naive enumeration procedure of the cartesian product, plus variant-specific extensions, represented in terms of user-supplied effect handlers. Our microbenchmarks validate that this extensible design avoids needless materialization. Alongside a formal semantics for joining and prototypes in Koka and multicore OCaml, we contribute a systematic comparison of the covered domains and features.

AB - We present the first language design to uniformly express variants of n-way joins over asynchronous event streams from different domains, e.g., stream-relational algebra, event processing, reactive and concurrent programming. We model asynchronous reactive programs and joins in direct style, on top of algebraic effects and handlers. Effect handlers act as modular interpreters of event notifications, enabling fine-grained control abstractions and customizable event matching. Join variants can be considered as cartesian product computations with ”degenerate” control flow, such that unnecessary tuples are not materialized a priori. Based on this computational interpretation, we decompose joins into a generic, naive enumeration procedure of the cartesian product, plus variant-specific extensions, represented in terms of user-supplied effect handlers. Our microbenchmarks validate that this extensible design avoids needless materialization. Alongside a formal semantics for joining and prototypes in Koka and multicore OCaml, we contribute a systematic comparison of the covered domains and features.

U2 - 10.1145/3236762

DO - 10.1145/3236762

M3 - Article

VL - 2

SP - 1

EP - 31

JO - Proceedings of the ACM on Programming Languages

JF - Proceedings of the ACM on Programming Languages

SN - 2475-1421

IS - ICFP

M1 - 67

ER -

ID: 51567028