The paper An abstract distributed middleware for transactions over heterogeneous stores by Luca Geatti, Federico Igne and myself, has been accepted to the 20th Italian Conference on Theoretical Computer Science.
Abstract: We present an abstract middleware, called Acidify, for the coordination of transactions between distributed processes accessing shared heterogeneous (possibly remote) storage services. Processes can specify transactions by means of a specific abstract language; each transaction is then executed atomically and in isolation, following an “optimistic” strategy. To ensure scalability and reliability, Acidify is peer-to-peer, without relying on any centralized service. Moreover, it is abstract, in the sense that the transaction language is independent from the underlying storage services, and it can be readily ported to any storage service.
We provide a formal model of Acidify as a set of interacting automata; this allows us to prove soundness and termination of the algorithms, and to estimate the overhead in terms of exchanged messages and delays. Finally, we provide an implementation of Acidify as an Erlang behaviour, together with the bindings for Riak KV and Amazon S3.