Conference item icon

Conference item

Live programming support in the LogicBlox system: a MetaLogiQL approach

Abstract:

The emerging category of self-service enterprise applications motivates support for "live programming" in the database, where the user's iterative data exploration triggers changes to installed application code and its output in real time.

This paper discusses the technical challenges in supporting live programming in the database and presents the solution implemented in the LogicBlox commercial system. The workhorse architectural component is a "meta-engine" that incrementally maintains metadata representing application code, guides its compilation into an internal representation in the database kernel, and orchestrates maintenance of materialized views based on those changes. Our approach mirrors LogicBlox's declarative programming model and describes the maintenance of application code using declarative meta-rules; the meta-engine is essentially a "bootstrap" version of the database engine proper.

Beyond live programming, the meta-engine turns out effective for a range of static analysis and optimization tasks. Outside of the database context, we speculate that our design may even provide a novel means of building incremental compilers for general-purpose programming languages.

Publication status:
Published
Peer review status:
Peer reviewed

Actions

Access Document

Files:
Publisher copy:
10.14778/2824032.2824075

Authors

More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Role:
Author


Publisher:
Proceedings of the Vldb Endowment International Conference on Very Large Data Bases
Journal:
Proceedings of Very Large Data Bases More from this journal
Volume:
8
Issue:
12
Pages:
1782-1793
Publication date:
2015-08-01
Event title:
41st International Conference on Very Large Data Bases
Event location:
Kohala Coast, Hawaii
Event start date:
2015-08-31
Event end date:
2015-09-04
DOI:
ISSN:
2150-8097


Language:
English
Keywords:
Pubs id:
pubs:609199
UUID:
uuid:7494dda3-a54c-4f28-a81c-f5509f4ade82
Local pid:
pubs:609199
Source identifiers:
609199
Deposit date:
2016-03-10
ARK identifier:

Terms of use


Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP