TU Darmstadt / ULB / TUprints

Versatile Event Correlation with Algebraic Effects

Bračevac, Oliver ; Amin, Nada ; Salvaneschi, Guido ; Erdweg, Sebastian ; Eugster, Patrick ; Mezini, Mira (2020)
Versatile Event Correlation with Algebraic Effects.
In: Proceedings of the ACM on Programming Languages, 2018, 2 (ICFP)
doi: 10.25534/tuprints-00014556
Article, Secondary publication, Publisher's Version

[img]
Preview
Text
3236762.pdf
Copyright Information: CC BY 4.0 International - Creative Commons, Attribution.

Download (1MB) | Preview
Item Type: Article
Type of entry: Secondary publication
Title: Versatile Event Correlation with Algebraic Effects
Language: English
Date: 4 December 2020
Place of Publication: Darmstadt
Year of primary publication: 2018
Publisher: ACM
Journal or Publication Title: Proceedings of the ACM on Programming Languages
Volume of the journal: 2
Issue Number: ICFP
DOI: 10.25534/tuprints-00014556
Corresponding Links:
Origin: Secondary publication via Golden Open Access
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.

Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-145561
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Software Technology
DFG-Collaborative Research Centres (incl. Transregio) > Collaborative Research Centres > CRC 1053: MAKI – Multi-Mechanisms Adaptation for the Future Internet > A: Construction Methodology > Subproject A2: Design
DFG-Collaborative Research Centres (incl. Transregio) > Collaborative Research Centres > CRC 1053: MAKI – Multi-Mechanisms Adaptation for the Future Internet > B: Adaptation Mechanisms > Subproject B2: Coordination and Execution
DFG-Collaborative Research Centres (incl. Transregio) > Collaborative Research Centres > CRC 1053: MAKI – Multi-Mechanisms Adaptation for the Future Internet > C: Communication Mechanisms > Subproject C2: Information-centred perspective
Date Deposited: 04 Dec 2020 08:54
Last Modified: 20 Oct 2023 07:09
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/14556
PPN:
Export:
Actions (login required)
View Item View Item