TU Darmstadt / ULB / TUbiblio

i3QL: Language-Integrated Live Data Views

Mitschke, Ralf and Erdweg, Sebastian and Köhler, Mirko and Mezini, Mira and Salvaneschi, Guido (2014):
i3QL: Language-Integrated Live Data Views.
In: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications, ACM, Portland, Oregon, USA, In: OOPSLA '14, ISBN 978-1-4503-2585-1,
DOI: 10.1145/2714064.2660242,
[Conference or Workshop Item]

Abstract

An incremental computation updates its result based on a change to its input, which is often an order of magnitude faster than a recomputation from scratch. In particular, incrementalization can make expensive computations feasible for settings that require short feedback cycles, such as interactive systems, IDEs, or (soft) real-time systems. This paper presents i3QL, a general-purpose programming language for specifying incremental computations. i3QL provides a declarative SQL-like syntax and is based on incremental versions of operators from relational algebra, enriched with support for general recursion. We integrated i3QL into Scala as a library, which enables programmers to use regular Scala code for non-incremental subcomputations of an i3QL query and to easily integrate incremental computations into larger software projects. To improve performance, i3QL optimizes user-defined queries by applying algebraic laws and partial evaluation. We describe the design and implementation of i3QL and its optimizations, demonstrate its applicability, and evaluate its performance.

Item Type: Conference or Workshop Item
Erschienen: 2014
Creators: Mitschke, Ralf and Erdweg, Sebastian and Köhler, Mirko and Mezini, Mira and Salvaneschi, Guido
Title: i3QL: Language-Integrated Live Data Views
Language: German
Abstract:

An incremental computation updates its result based on a change to its input, which is often an order of magnitude faster than a recomputation from scratch. In particular, incrementalization can make expensive computations feasible for settings that require short feedback cycles, such as interactive systems, IDEs, or (soft) real-time systems. This paper presents i3QL, a general-purpose programming language for specifying incremental computations. i3QL provides a declarative SQL-like syntax and is based on incremental versions of operators from relational algebra, enriched with support for general recursion. We integrated i3QL into Scala as a library, which enables programmers to use regular Scala code for non-incremental subcomputations of an i3QL query and to easily integrate incremental computations into larger software projects. To improve performance, i3QL optimizes user-defined queries by applying algebraic laws and partial evaluation. We describe the design and implementation of i3QL and its optimizations, demonstrate its applicability, and evaluate its performance.

Title of Book: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications
Series Name: OOPSLA '14
Publisher: ACM
ISBN: 978-1-4503-2585-1
Uncontrolled Keywords: incremental computation, reactive programming, scala
Divisions: Profile Areas
Profile Areas > Cybersecurity (CYSEC)
Event Location: Portland, Oregon, USA
Date Deposited: 21 Aug 2017 14:35
DOI: 10.1145/2714064.2660242
Identification Number: TUD-CS-2014-1102
Export:
Suche nach Titel in: TUfind oder in Google

Optionen (nur für Redakteure)

View Item View Item