A Categorical Account of Replicated Data Types

Replicated Data Types (rdts) have been introduced as a suitable abstraction for dealing with weakly consistent data stores, which may (temporarily) expose multiple, inconsistent views of their state. In the literature, rdts are commonly specified in terms of two relations: visibility, which accounts for the different views that a store may have, and arbitration, which states the logical order imposed on the operations executed over the store. Different flavours, e.g., operational, axiomatic and functional, have recently been proposed for the specification of rdts. In this work, we propose an algebraic characterisation of rdt specifications. We define categories of visibility relations and arbitrations, show the existence of relevant limits and colimits, and characterize rdt specifications as functors between such categories that preserve these additional structures. 2012 ACM Subject Classification Theory of computation → Program semantics; Software and its engineering → General programming languages

[1]  Constantin Enea,et al.  Verifying eventual consistency of optimistic replication systems , 2014, POPL.

[2]  Suresh Jagannathan,et al.  Safe replication through bounded concurrency verification , 2018, Proc. ACM Program. Lang..

[3]  Suresh Jagannathan,et al.  Declarative programming over eventually consistent data stores , 2015, PLDI.

[4]  Sebastian Burckhardt,et al.  Consistency models with global operation sequencing and their composition (extended version) , 2017, DISC.

[5]  Marc Shapiro,et al.  Conflict-Free Replicated Data Types , 2011, SSS.

[6]  Fabio Gadducci,et al.  A Denotational View of Replicated Data Types , 2017, COORDINATION.

[7]  Hongseok Yang,et al.  Composite Replicated Data Types , 2015, ESOP.

[8]  Paulo Sérgio Almeida,et al.  Higher-Order Patterns in Replicated Data Types , 2019, PaPoC@EuroSys.

[9]  Nancy A. Lynch,et al.  Brewer's conjecture and the feasibility of consistent, available, partition-tolerant web services , 2002, SIGA.

[10]  Fabio Gadducci,et al.  On the semantics and implementation of replicated data types , 2018, Sci. Comput. Program..

[11]  Sebastian Burckhardt,et al.  Replicated data types: specification, verification, optimality , 2014, POPL.

[12]  Paulo Sérgio Almeida,et al.  Composition in State-based Replicated Data Types , 2017, Bull. EATCS.

[13]  Sebastian Burckhardt,et al.  Understanding Eventual Consistency , 2013 .

[14]  Alexey Gotsman,et al.  A Framework for Transactional Consistency Models with Atomic Visibility , 2015, CONCUR.