BarQL: Collaborating Through Change
Oliver Kennedy, Lukasz Ziarek

TL;DR
BarQL introduces a general-purpose state-update language and a mutation framework that enables reasoning about algebraic properties of updates, facilitating optimized collaborative web applications.
Contribution
The paper presents mutation languages and BarQL, a novel framework and language for reasoning about and optimizing shared state updates in collaborative applications.
Findings
Mutation languages enable algebraic reasoning about updates.
BarQL supports a wide range of update operations.
Framework improves efficiency of collaborative applications.
Abstract
Applications such as Google Docs, Office 365, and Dropbox show a growing trend towards incorporating multi-user live collaboration functionality into web applications. These collaborative applications share a need to efficiently express shared state, and a common strategy for doing so is a shared log abstraction. Extensive research efforts on log abstractions by the database, programming languages, and distributed systems communities have identified a variety of optimization techniques based on the algebraic properties of updates (i.e., pairwise commutativity, subsumption, and idempotence). Although these techniques have been applied to specific applications and use-cases, to the best of our knowledge, no attempt has been made to create a general framework for such optimizations in the context of a non-trivial update language. In this paper, we introduce mutation languages, a low-level…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Distributed systems and fault tolerance · Service-Oriented Architecture and Web Services
