Data replication demands complex tools such as SYNCHRONIZERS and VERSION CONTROL SYSTEMS to maintain or restore consistency when changes are made to replicated data structures. Unfortunately, the burgeoning activity in this area has not been fully matched by advances in its theoretical underpinnings, resulting in systems that are complex, hard to understand, and prone to surprising behaviors. The project aims to develop mathematical foundations and a prototype implementation of a HETEROGENEOUS VERSION CONTROL SYSTEM, able to manage propagation and integration of concurrent updates to multiple replicas, where each replica may be represented differently and may include information that is not shared with the others.
Past work in these areas has had significant real-world impacts: the Unison file synchronizer is now part of the basic toolset of a large community of users, both within and outside the research community, and Redhat's Augeas tool, based directly on the experimental bidirectional language Boomerang, is becoming a popular tool for system configuration management. Better mathematical foundations will improve the functionality and robustness of future systems---for example, industrial tools for software model transformation.
The project's primary technical threads are (1) the algebraic theory of SYMMETRIC LENSES, a mechanism for propagating bidirectional updates, (2) a new THEORY OF PATCHES providing a solid foundation to modern distributed version control systems, and (3) a prototype implementation of a system embodying both sets of ideas.