Publications
As an organisation we challenge ourselves by engaging in research activities to push the boundaries of what is possible today.
Our research that has been published or can be published publicly is listed below.
The Design and Implementation of FusionDB
February 8, 2019
FusionDB is a new multi-model database system which was designed for the demands of the current Big Data age. FusionDB has a strong XML heritage, indeed one of its models is that of a Native XML store.
Whilst at the time of writing there are several Open Source and at least one commercial Native XML Database system available, we believe that FusionDB offers some unique properties and its multi-model foundation for storing heterogeneous types of data opens up new possibilities for cross model queries.
This paper discusses FusionDB's raison d'ĂȘtre, issues that we had to overcome, and details its high-level design and architecture.
Download our Paper (PDF)
Watch a Video of the talk given at XML Prague 2019
Task Abstraction for XPath Derived Languages
February 8, 2019
XPDLs (XPath Derived Languages) such as XQuery and xSLT have been pushed beyond the envisaged scope of their designers. Perversions such as processing Binary Streams, File System Navigation, and Asynchronous Browser DOM Mutation have all been witnessed.
Many of these novel applications of XPDLs intentionally incorporate non-sequential and/or concurrent evaluation and embrace side-effects to achieve their purpose.
To arrive at a solution for safely managing side effects and concurrent execution, this paper first surveys both the available XPDL vendor extensions and approaches offered in non-XPDLs, and then describes EXPath Tasks, a novel solution derived for the safe evaluation of side effects in XPDLs which respects both sequential and concurrent execution.
Download our Paper (PDF)
Watch a Video of the talk given at XML Prague 2019
Locking and Cache Improvements for eXist-db
February 5, 2018
Since late February 2017 we (Evolved Binary Ltd) have been working on some low-level architectural changes in eXist-db to improve concurrency, scalability, and transaction isolation. In particular we have been focused on the lock implementation used
in eXist-db and how those locks are applied (i.e., the locking policy). Much of this work was inspired by the requirements for FusionDB (previously code-named "Granite").
Download our Technical Report (PDF)
GitHub of our Locking and Cache Improvements
Download eXist-db 3.7.0 binaries with our added Locking and Cache improvements:
Installer (JAR) / Mac DMG / WAR
Asymmetrical Locking For eXist-db
February 5, 2018
After providing some background information on the problem domain, we examine
various locking patterns, before justifying an asymmetrical approach. Finally we examine code patterns for managing asymmetrical locking and propose a design pattern for
asymmetrical locking between Collection and persistent Document objects in eXist-db.
Download our Technical Report (PDF)
Implementation of Portable EXPath Extension Functions
June 7, 2015
Various XPDLs (XPath Derived Languages) offer many high-level abstractions which should enable us to write
portable code for standards compliant processors. Unfortunately the reality is that even moderately complex
applications often need to call additional functions which are non-standard and typically implementation provided.
These implementation provided extension functions reduce both the portability and applicability of code written using
standard XPDLs. This paper examines the relevant existing body of work and proposes a novel approach to the
implementation of portable extension functions for XPDLs.
Download our Paper (PDF)
Watch a Video of the talk given at XML London 2015
GitHub of our XPDL Extension Library code
GitHub of our XPDL Extensions Interface for eXist-db