KIT | KIT-Bibliothek | Impressum | Datenschutz

i3QL: Language-Integrated Live Data Views

Mitschke, Ralf; Erdweg, Sebastian ORCID iD icon 1; Köhler, Mirko; Mezini, Mira; Salvaneschi, Guido
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

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.


Originalveröffentlichung
DOI: 10.1145/2660193.2660242
Web of Science
Zitationen: 15
Dimensions
Zitationen: 14
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsdatum 15.10.2014
Sprache Englisch
Identifikator ISBN: 978-145032585-1
ISSN: 0362-1340
KITopen-ID: 1000188553
Erschienen in Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA; Portland, OR, USA, 20.-24.10.2014
Veranstaltung ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, (2014), Portland, OR, USA, 20.10.2014 – 24.10.2014
Verlag Association for Computing Machinery (ACM)
Seiten 417–432
Serie ACM SIGPLAN Notices ; 49
Schlagwörter Incremental Computation, Scala, Reactive Programming
Nachgewiesen in Scopus
Dimensions
OpenAlex
Web of Science
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page