Live programming support in the LogicBlox system: a MetaLogiQL approach
<p>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.</p> <p>This paper discu...
Main Authors: | , , |
---|---|
Format: | Conference item |
Language: | English |
Published: |
Proceedings of the Vldb Endowment International Conference on Very Large Data Bases
2015
|
_version_ | 1797112470902407168 |
---|---|
author | Green, TJ Olteanu, D Washburn, G |
author_facet | Green, TJ Olteanu, D Washburn, G |
author_sort | Green, TJ |
collection | OXFORD |
description | <p>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.</p>
<p>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.</p>
<p>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.</p> |
first_indexed | 2024-03-07T08:26:14Z |
format | Conference item |
id | oxford-uuid:7494dda3-a54c-4f28-a81c-f5509f4ade82 |
institution | University of Oxford |
language | English |
last_indexed | 2024-03-07T08:26:14Z |
publishDate | 2015 |
publisher | Proceedings of the Vldb Endowment International Conference on Very Large Data Bases |
record_format | dspace |
spelling | oxford-uuid:7494dda3-a54c-4f28-a81c-f5509f4ade822024-02-15T08:00:23ZLive programming support in the LogicBlox system: a MetaLogiQL approachConference itemhttp://purl.org/coar/resource_type/c_5794uuid:7494dda3-a54c-4f28-a81c-f5509f4ade82EnglishSymplectic Elements at OxfordProceedings of the Vldb Endowment International Conference on Very Large Data Bases2015Green, TJOlteanu, DWashburn, G<p>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.</p> <p>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.</p> <p>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.</p> |
spellingShingle | Green, TJ Olteanu, D Washburn, G Live programming support in the LogicBlox system: a MetaLogiQL approach |
title | Live programming support in the LogicBlox system: a MetaLogiQL approach |
title_full | Live programming support in the LogicBlox system: a MetaLogiQL approach |
title_fullStr | Live programming support in the LogicBlox system: a MetaLogiQL approach |
title_full_unstemmed | Live programming support in the LogicBlox system: a MetaLogiQL approach |
title_short | Live programming support in the LogicBlox system: a MetaLogiQL approach |
title_sort | live programming support in the logicblox system a metalogiql approach |
work_keys_str_mv | AT greentj liveprogrammingsupportinthelogicbloxsystemametalogiqlapproach AT olteanud liveprogrammingsupportinthelogicbloxsystemametalogiqlapproach AT washburng liveprogrammingsupportinthelogicbloxsystemametalogiqlapproach |