TU Darmstadt / ULB / TUbiblio

i3QL: Language-Integrated Live Data Views

Mitschke, Ralf ; Erdweg, Sebastian ; Köhler, Mirko ; Mezini, Mira ; Salvaneschi, Guido :
i3QL: Language-Integrated Live Data Views.
In: OOPSLA '14 . ACM
[Konferenz- oder Workshop-Beitrag], (2014)

Kurzbeschreibung (Abstract)

<div id="abstract" class="ytab x-tabs-item-body" style="overflow: auto; display: block; visibility: visible; position: relative; left: 0px; top: 0px; "><div class="tabbody" style="margin-left:10px; margin-top:10px; margin-right:10px; margin-bottom: 10px; "><div style="display:inline">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.</div></div></div>

Typ des Eintrags: Konferenz- oder Workshop-Beitrag (Keine Angabe)
Erschienen: 2014
Autor(en): Mitschke, Ralf ; Erdweg, Sebastian ; Köhler, Mirko ; Mezini, Mira ; Salvaneschi, Guido
Titel: i3QL: Language-Integrated Live Data Views
Sprache: Deutsch
Kurzbeschreibung (Abstract):

<div id="abstract" class="ytab x-tabs-item-body" style="overflow: auto; display: block; visibility: visible; position: relative; left: 0px; top: 0px; "><div class="tabbody" style="margin-left:10px; margin-top:10px; margin-right:10px; margin-bottom: 10px; "><div style="display:inline">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.</div></div></div>

Buchtitel: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications
Reihe: OOPSLA '14
Verlag: ACM
Freie Schlagworte: incremental computation, reactive programming, scala
Fachbereich(e)/-gebiet(e): Profilbereiche > Cybersicherheit (CYSEC)
Profilbereiche
Veranstaltungsort: Portland, Oregon, USA
Hinterlegungsdatum: 21 Aug 2017 14:35
ID-Nummer: TUD-CS-2014-1102
Export:

Optionen (nur für Redakteure)

Eintrag anzeigen Eintrag anzeigen