Serializable eventual consistency: consistency through object method replay

In order to allow offline functionality of (mobile) web applications, state needs to be optimistically replicated and synchronized whenever connection is re-established. We present a programming language solution that provides replicated application state in a cloud-client setting. It exposes first-class replicated objects to the programmer, which are automatically replicated to all clients and locally accessible. By executing all method invocations in the same order on all sites, as determined by the cloud, consistency is attained. We call this serializable eventual consistency. The model encapsulates tentative operation buffering, reordering and propagation and provides primitives to reason about tentative state.