Conference item icon

Conference item

Composite replicated data types

Abstract:

Modern large-scale distributed systems often rely on eventually consistent replicated stores, which achieve scalability in exchange for providing weak semantic guarantees. To compensate for this weakness, researchers have proposed various abstractions for programming on eventual consistency, such as replicated data types for resolving conflicting updates at different replicas and weak forms of transactions for maintaining relationships among objects. However, the subtle semantics of these abstractions makes using them correctly far from trivial.

To address this challenge, we propose composite replicated data types, which formalise a common way of organising applications on top of eventually consistent stores. Similarly to an abstract data type, a composite data type encapsulates objects of replicated data types and operations used to access them, implemented using transactions. We develop a method for reasoning about programs with composite data types that reflects their modularity: the method allows abstracting away the internals of composite data type implementations when reasoning about their clients. We express the method as a denotational semantics for a programming language with composite data types. We demonstrate the effectiveness of our semantics by applying it to verify subtle data type examples and prove that it is sound and complete with respect to a standard non-compositional semantics.
Publication status:
Published
Peer review status:
Reviewed (other)

Actions


Access Document


Files:
Publisher copy:
10.1007/978-3-662-46669-8_24

Authors


More by this author
Institution:
University of Oxford
Division:
MPLS
Department:
Computer Science
Role:
Author

Contributors

Gotsman, A


Publisher:
Springer
Host title:
Programming Languages and Systems: 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings
Journal:
Programming Languages and Systems: 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015, Proceedings More from this journal
Volume:
9032
Pages:
585-609
Series:
Lecture Notes in Computer Science
Publication date:
2015-04-18
Acceptance date:
2014-12-14
DOI:
EISSN:
1611-3349
ISSN:
0302-9743
ISBN:
9783662466681


Keywords:
Pubs id:
pubs:581041
UUID:
uuid:738448d9-dddb-4fd8-bd00-d2e2cf50d9b4
Local pid:
pubs:581041
Source identifiers:
581041
Deposit date:
2016-01-03

Terms of use



Views and Downloads






If you are the owner of this record, you can report an update to it here: Report update to this record

TO TOP