A categorical account of replicated data types - Gadducci, Fabio (2019)
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.