Replicated data stores typically sacrifice strong consistency guarantees in favour of availability and partition tolerance. These data stores usually provide specific weaker consistency guarantees, such as eventual consistency, monotonic reads or causal consistency.
Recently, there have been proposals for data stores that support multiple consistency guarantees. An example is a speculative response based on a quick local check, followed by either a confirmation or an "apology" after a more detailed reconciliation of updates. A typical situation is an online purchase where the order is initially confirmed and later you are told the item is out of stock.
We describe a formal semantics for replicated data-stores with multiple correctness levels and explore decidability issues.
This is ongoing joint work with Ahmed Bouajjani, Constantin Enea, Gautham Shenoy R and S P Suresh.