%%%%%%%%%% Formal verification

%% https://softech.cs.uni-kl.de/homepage/publications/Zeller.Bieniusa.Poetzsch-Heffter.Forte2014.pdf
@inproceedings{Zeller:2014fl,
author = {Zeller, Peter and Bieniusa, Annette and Poetzsch-Heffter, Arnd},
title = {Formal Specification and Verification of {CRDTs}},
booktitle = {34th IFIP International Conference on Formal Techniques for Distributed Objects, Components and Systems (FORTE)},
year = {2014},
month = jun,
doi = {10.1007/978-3-662-43613-4_3}
}

@techreport{Oster:2005vi,
author = {Oster, G{\'e}rald and Urso, Pascal and Molli, Pascal and Imine, Abdessamad},
title = {Proving correctness of transformation functions in collaborative editing systems},
year = {2005},
number = {RR-5795},
month = dec,
publisher = {INRIA Research Report},
url = {https://hal.inria.fr/inria-00071213/}
}

%% http://www.ecscw.org/2003/015Imine_ecscw03.pdf
@inproceedings{Imine:2003ks,
author = {Imine, Abdessamad and Molli, Pascal and Oster, G{\'e}rald and Rusinowitch, Micha{\"e}l},
title = {Proving Correctness of Transformation Functions in Real-Time Groupware},
booktitle = {8th European Conference on Computer-Supported Cooperative Work (ECSCW)},
year = {2003},
pages = {277--293},
month = sep,
doi = {10.1007/978-94-010-0068-0_15}
}

@misc{postgresql,
  title = {{PostgreSQL} open source relational database},
  author = {{PostgreSQL}},
  url = {https://www.postgresql.org/},
  note = {Accessed April 2017},
  year = {2017},
  note = {{PostgreSQL}}
}

@misc{riak,
  title = {{Riak} distributed {NoSQL} database},
  author = {Basho},
  url = {http://basho.com/products/},
  note = {Accessed April 2017},
  year = {2017},
  note = {{Riak}}
}

@misc{cassandra,
  title = {{Apache Cassandra} database},
  author = {{Apache Software Foundation}},
  url = {http://cassandra.apache.org/},
  note = {Accessed April 2017},
  year = {2017},
  note = {{Cassandra}}
}


@webpage{KingsburyCassandra,
  author = {Kingsbury, Kyle},
  title = {{Jepsen}: {Cassandra}},
  year = {2013},
  month = sep,
  url = {https://aphyr.com/posts/294-jepsen-cassandra},
  note = {Accessed April 2017}
}


@misc{google-docs,
  title = {{Google} {Docs} collaborative document editor},
  author = {Google},
  url = {https://docs.google.com/},
  note = {Accessed April 2017},
  year = {2017},
  note = {{Google} {Docs}}
}

@inproceedings{Li:2005jq,
author = {Li, Rui and Li, Du},
title = {A landmark-based transformation approach to concurrency control in group editors},
booktitle = {International ACM SIGGROUP Conference on Supporting Group Work},
year = {2005},
pages = {284--293},
month = nov,
doi = {10.1145/1099203.1099252}
}

@article{Li:2008hw,
author = {Li, Du and Li, Rui},
title = {An Approach to Ensuring Consistency in Peer-to-Peer Real-Time Group Editors},
journal = {Computer Supported Cooperative Work (CSCW)},
year = {2008},
volume = {17},
number = {5},
pages = {553--611},
month = dec,
doi = {10.1007/s10606-005-9009-5}
}

@inproceedings{DBLP:conf/tphol/KammullerWP99,
  author    = {Florian Kamm{\"{u}}ller and
               Markus Wenzel and
               Lawrence C. Paulson},
  title     = {Locales - {A} Sectioning Concept for {Isabelle}},
  booktitle = {Theorem Proving in Higher Order Logics, 12th International Conference,
               TPHOLs'99, Nice, France, September, 1999, Proceedings},
  pages     = {149--166},
  year      = {1999},
  url       = {https://doi.org/10.1007/3-540-48256-3_11},
  doi       = {10.1007/3-540-48256-3_11},
  timestamp = {Tue, 19 Jan 2016 15:20:45 +0100},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/tphol/KammullerWP99},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}


@inproceedings{DBLP:conf/cade/AspertiRCT11,
  author    = {Andrea Asperti and
               Wilmer Ricciotti and
               Claudio Sacerdoti Coen and
               Enrico Tassi},
  title     = {The Matita Interactive Theorem Prover},
  booktitle = {Automated Deduction - {CADE-23} - 23rd International Conference on
               Automated Deduction, Wroclaw, Poland, July 31 - August 5, 2011. Proceedings},
  pages     = {64--69},
  year      = {2011},
  url       = {https://doi.org/10.1007/978-3-642-22438-6_7},
  doi       = {10.1007/978-3-642-22438-6_7},
  timestamp = {Tue, 16 Aug 2011 09:52:51 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/cade/AspertiRCT11},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{DBLP:conf/popl/HuetH14,
  author    = {G{\'{e}}rard P. Huet and
               Hugo Herbelin},
  title     = {30 years of research and development around Coq},
  booktitle = {The 41st Annual {ACM} {SIGPLAN-SIGACT} Symposium on Principles of
               Programming Languages, {POPL} '14, San Diego, CA, USA, January 20-21,
               2014},
  pages     = {249--250},
  year      = {2014},
  url       = {http://doi.acm.org/10.1145/2535838.2537848},
  doi       = {10.1145/2535838.2537848},
  timestamp = {Wed, 21 Dec 2016 15:24:24 +0100},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/popl/HuetH14},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{DBLP:conf/tphol/BoveDN09,
  author    = {Ana Bove and
               Peter Dybjer and
               Ulf Norell},
  title     = {A Brief Overview of Agda - {A} Functional Language with Dependent
               Types},
  booktitle = {Theorem Proving in Higher Order Logics, 22nd International Conference,
               TPHOLs 2009, Munich, Germany, August 17-20, 2009. Proceedings},
  pages     = {73--78},
  year      = {2009},
  url       = {https://doi.org/10.1007/978-3-642-03359-9_6},
  doi       = {10.1007/978-3-642-03359-9_6},
  timestamp = {Thu, 03 Sep 2009 22:14:13 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/tphol/BoveDN09},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@book{DBLP:books/sp/NipkowK14,
  author    = {Tobias Nipkow and
               Gerwin Klein},
  title     = {Concrete Semantics - With {Isabelle/HOL}},
  publisher = {Springer},
  year      = {2014},
  url       = {https://doi.org/10.1007/978-3-319-10542-0},
  doi       = {10.1007/978-3-319-10542-0},
  isbn      = {978-3-319-10541-3},
  timestamp = {Wed, 03 Dec 2014 17:29:15 +0100},
  biburl    = {http://dblp.uni-trier.de/rec/bib/books/sp/NipkowK14},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@phdthesis{DBLP:phd/dnb/Wenzel02a,
  author    = {Markus Wenzel},
  title     = {{Isabelle, Isar} - a versatile environment for human readable formal
               proof documents},
  school    = {Technical University Munich, Germany},
  year      = {2002},
  url       = {http://tumb1.biblio.tu-muenchen.de/publ/diss/in/2002/wenzel.pdf},
  urn       = {urn:nbn:de:bvb:91-diss2002020117092},
  timestamp = {Fri, 20 Jan 2017 12:54:06 +0100},
  biburl    = {http://dblp.uni-trier.de/rec/bib/phd/dnb/Wenzel02a},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{DBLP:conf/types/HaftmannW08,
  author    = {Florian Haftmann and
               Makarius Wenzel},
  title     = {Local Theory Specifications in {Isabelle/Isar}},
  booktitle = {Types for Proofs and Programs, International Conference, {TYPES} 2008,
               Torino, Italy, March 26-29, 2008, Revised Selected Papers},
  pages     = {153--168},
  year      = {2008},
  url       = {https://doi.org/10.1007/978-3-642-02444-3_10},
  doi       = {10.1007/978-3-642-02444-3_10},
  timestamp = {Sat, 13 Jun 2009 11:31:07 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/types/HaftmannW08},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}


@inproceedings{DBLP:conf/tphol/Gordon91,
  author    = {Michael J. C. Gordon},
  title     = {Introduction to the {HOL} System},
  booktitle = {Proceedings of the 1991 International Workshop on the {HOL} Theorem
               Proving System and its Applications, August 1991, Davis, California,
               {USA}},
  pages     = {2--3},
  year      = {1991},
  timestamp = {Wed, 17 Apr 2002 08:13:51 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/tphol/Gordon91},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}

@inproceedings{DBLP:conf/tphol/WenzelPN08,
  author    = {Makarius Wenzel and
               Lawrence C. Paulson and
               Tobias Nipkow},
  title     = {The {Isabelle} Framework},
  booktitle = {Theorem Proving in Higher Order Logics, 21st International Conference,
               TPHOLs 2008, Montreal, Canada, August 18-21, 2008. Proceedings},
  pages     = {33--38},
  year      = {2008},
  url       = {https://doi.org/10.1007/978-3-540-71067-7_7},
  doi       = {10.1007/978-3-540-71067-7_7},
  timestamp = {Wed, 04 Jul 2012 11:13:38 +0200},
  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/tphol/WenzelPN08},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}


%% http://pagesperso.lina.univ-nantes.fr/~molli-p/pmwiki/uploads/Main/iminetcs05.pdf
@article{Imine:2006kn,
author = {Imine, Abdessamad and Rusinowitch, Micha{\"e}l and Oster, G{\'e}rald and Molli, Pascal},
title = {Formal design and verification of operational transformation algorithms for copies convergence},
journal = {Theoretical Computer Science},
year = {2006},
volume = {351},
number = {2},
pages = {167--183},
month = feb,
doi = {10.1016/j.tcs.2005.09.066}
}

@inproceedings{Sinchuk:2016cf,
author = {Sinchuk, Sergey and Chuprikov, Pavel and Solomatov, Konstantin},
title = {Verified Operational Transformation for Trees},
booktitle = {7th International Conference on Interactive Theorem Proving (ITP)},
year = {2016},
month = aug,
doi = {10.1007/978-3-319-43144-4_22}
}

@misc{Jungnickel:2015ua,
author = {Jungnickel, Tim and Herb, Tobias},
title = {{TP1}-valid Transformation Functions for Operations on ordered {n-ary} Trees},
howpublished = "arXiv:1512.05949",
year = {2015},
month = dec,
url = {https://arxiv.org/abs/1512.05949}
}

%% https://hal.inria.fr/hal-00934311
@inproceedings{Burckhardt:2014ft,
author = {Burckhardt, Sebastian and Gotsman, Alexey and Yang, Hongseok and Zawirski, Marek},
title = {Replicated Data Types: Specification, Verification, Optimality},
booktitle = {41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)},
year = {2014},
pages = {271--284},
month = jan,
doi = {10.1145/2535838.2535848}
}

%% https://www.academia.edu/26094865/On_Synthesizing_a_Consistent_Operational_Transformation_Approach
@article{Randolph:2015gj,
author = {Randolph, Aurel and Boucheneb, Hanifa and Imine, Abdessamad and Quintero, Alejandro},
title = {On Synthesizing a Consistent Operational Transformation Approach},
journal = {IEEE Transactions on Computers},
year = {2015},
volume = {64},
number = {4},
pages = {1074--1089},
month = apr,
doi = {10.1109/TC.2014.2308203}
}


%%%%%%%%%% CRDTs

%% http://hal.inria.fr/inria-00555588/
@techreport{Shapiro:2011wy,
author = {Shapiro, Marc and Pregui{\c c}a, Nuno and Baquero, Carlos and Zawirski, Marek},
title = {A comprehensive study of Convergent and Commutative Replicated Data Types},
year = {2011},
number = {7506},
institution = {INRIA}
}

%% https://pages.lip6.fr/Marek.Zawirski/papers/RR-7687.pdf
@inproceedings{Shapiro:2011un,
author = {Shapiro, Marc and Pregui{\c c}a, Nuno and Baquero, Carlos and Zawirski, Marek},
title = {Conflict-free Replicated Data Types},
booktitle = {13th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS)},
year = {2011},
pages = {386--400},
month = oct,
doi = {10.1007/978-3-642-24550-3_29}
}

%% http://repositorium.sdum.uminho.pt/bitstream/1822/38206/1/1867.pdf
@inproceedings{Baquero:2014ed,
author = {Baquero, Carlos and Almeida, Paulo S{\'e}rgio and Shoker, Ali},
title = {Making Operation-based {CRDTs} Operation-based},
booktitle = {14th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS)},
year = {2014},
pages = {126--140},
month = jun,
doi = {10.1007/978-3-662-43352-2_11}
}

%% https://arxiv.org/abs/1410.2803
@inproceedings{Almeida:2015fc,
author = {Almeida, Paulo S{\'e}rgio and Shoker, Ali and Baquero, Carlos},
title = {Efficient State-Based {CRDTs} by Delta-Mutation},
booktitle = {International Conference on Networked Systems (NETYS)},
year = {2015},
month = may,
doi = {10.1007/978-3-319-26850-7_5}
}

%% http://csl.skku.edu/papers/jpdc11.pdf
@article{Roh:2011dw,
author = {Roh, Hyun-Gul and Jeon, Myeongjae and Kim, Jin-Soo and Lee, Joonwon},
title = {Replicated abstract data types: Building blocks for collaborative applications},
journal = {Journal of Parallel and Distributed Computing},
year = {2011},
volume = {71},
number = {3},
pages = {354--368},
doi = {10.1016/j.jpdc.2010.12.006}
}

%% https://cs.kaist.ac.kr/upload_files/report/1254967150.pdf
@techreport{Roh:2009ws,
author = {Roh, Hyun-Gul and Kim, Jin-Soo and Lee, Joonwon and Maeng, Seungryoul},
title = {Optimistic Operations for Replicated Abstract Data Types},
year = {2009},
number = {CS/TR-2009-318},
month = sep,
institution = {KAIST}
}

@misc{Kleppmann:2016ve,
author = {Kleppmann, Martin and Beresford, Alastair R},
title = {A Conflict-Free Replicated {JSON} Datatype},
journal = {arXiv},
howpublished = "arXiv:1608.03960 [cs.DC]",
year = {2016},
month = aug,
url = {http://arxiv.org/abs/1608.03960}
}

%% https://hal.inria.fr/inria-00445975/document
@inproceedings{Preguica:2009fz,
author = {Pregui{\c c}a, Nuno and Manuel Marqu{\`e}s, Joan and Shapiro, Marc and Letia, Mihai},
title = {A commutative replicated data type for cooperative editing},
booktitle = {29th IEEE International Conference on Distributed Computing Systems (ICDCS)},
year = {2009},
month = jun,
doi = {10.1109/ICDCS.2009.20}
}

%% https://hal.archives-ouvertes.fr/file/index/docid/108523/filename/OsterCSCW06.pdf
@inproceedings{Oster:2006wj,
author = {Oster, G{\'e}rald and Urso, Pascal and Molli, Pascal and Imine, Abdessamad},
title = {Data Consistency for {P2P} Collaborative Editing},
booktitle = {ACM Conference on Computer Supported Cooperative Work (CSCW)},
year = {2006},
month = nov,
doi = {10.1145/1180875.1180916}
}

%% https://www.researchgate.net/profile/Pascal_Urso/publication/233882440_Logoot-Undo_Distributed_Collaborative_Editing_System/links/0fcfd50c84f5194937000000.pdf
@article{Weiss:2010hx,
author = {Weiss, St{\'e}phane and Urso, Pascal and Molli, Pascal},
title = {{Logoot-Undo}: Distributed Collaborative Editing System on {P2P} networks},
journal = {IEEE Transactions on Parallel and Distributed Systems},
year = {2010},
volume = {21},
number = {8},
pages = {1162--1174},
month = jan,
doi = {10.1109/TPDS.2009.173}
}

%% https://hal.archives-ouvertes.fr/file/index/docid/921633/filename/fp025-nedelec.pdf
@inproceedings{Nedelec:2013ky,
author = {N{\'e}delec, Brice and Molli, Pascal and Mostefaoui, Achour and Desmontils, Emmanuel},
title = {{LSEQ}: an Adaptive Structure for Sequences in Distributed Collaborative Editing},
booktitle = {13th ACM Symposium on Document Engineering (DocEng)},
year = {2013},
pages = {37--46},
month = sep,
doi = {10.1145/2494266.2494278}
}

%% https://hal.archives-ouvertes.fr/hal-01303333
@inproceedings{Nedelec:2016eo,
author = {N{\'e}delec, Brice and Molli, Pascal and Mostefaoui, Achour},
title = {{CRATE}: Writing Stories Together with our Browsers},
booktitle = {25th International World Wide Web Conference (WWW)},
year = {2016},
pages = {231--234},
month = apr,
doi = {10.1145/2872518.2890539}
}

%% https://hal.inria.fr/docs/00/62/95/03/PDF/doce63-ahmednacer.pdf
@inproceedings{Mehdi:2011ke,
author = {Mehdi, Ahmed-Nacer and Ignat, Claudia-Lavinia and Oster, G{\'e}rald and Roh, Hyun-Gul and Urso, Pascal},
title = {Evaluating {CRDTs} for real-time document editing},
booktitle = {11th ACM Symposium on Document Engineering (DocEng)},
year = {2011},
pages = {103--112},
month = sep,
doi = {10.1145/2034691.2034717}
}

%% https://hal.inria.fr/file/index/docid/957167/filename/main.pdf
@inproceedings{Mehdi:2014gp,
author = {Mehdi, Ahmed-Nacer and Urso, Pascal and Balegas, Valter and Pergui{\c c}a, Nuno},
title = {Merging {OT} and {CRDT} algorithms},
booktitle = {1st Workshop on Principles and Practice of Eventual Consistency (PaPEC)},
year = {2014},
month = apr,
doi = {10.1145/2596631.2596636}
}

@techreport{Bieniusa:2012wu,
author = {Bieniusa, Annette and Zawirski, Marek and Pregui{\c c}a, Nuno and Shapiro, Marc and Baquero, Carlos and Balegas, Valter and Duarte, S{\'e}rgio},
title = {An Optimized Conflict-free Replicated Set},
year = {2012},
number = {RR-8083},
month = oct,
publisher = {INRIA Research Report},
url = {http://arxiv.org/abs/1210.3368}
}

%% https://pages.lip6.fr/Marc.Shapiro/papers/semantics-sets-BA-DISC-2012.pdf
@inproceedings{Bieniusa:2012gt,
author = {Bieniusa, Annette and Zawirski, Marek and Pregui{\c c}a, Nuno and Shapiro, Marc and Baquero, Carlos and Balegas, Valter and Duarte, S{\'e}rgio},
title = {Brief Announcement: Semantics of Eventually Consistent Replicated Sets},
booktitle = {26th International Symposium on Distributed Computing (DISC)},
year = {2012},
month = oct,
doi = {10.1007/978-3-642-33651-5_48}
}

%% https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/podc16-complete.pdf
@inproceedings{Attiya:2016kh,
author = {Attiya, Hagit and Burckhardt, Sebastian and Gotsman, Alexey and Morrison, Adam and Yang, Hongseok and Zawirski, Marek},
title = {Specification and Complexity of Collaborative Text Editing},
booktitle = {ACM Symposium on Principles of Distributed Computing (PODC)},
year = {2016},
pages = {259--268},
month = jul,
doi = {10.1145/2933057.2933090}
}

%% http://research.microsoft.com/pubs/163842/final-with-color.pdf
@inproceedings{Burckhardt:2012jy,
author = {Burckhardt, Sebastian and F{\"a}hndrich, Manuel and Leijen, Daan and Wood, Benjamin P},
title = {Cloud Types for Eventual Consistency},
booktitle = {26th European Conference on Object-Oriented Programming (ECOOP)},
year = {2012},
month = jun,
doi = {10.1007/978-3-642-31057-7_14}
}

%% https://syncfree.lip6.fr/attachments/article/46/WP3-report.pdf
@inproceedings{Brown:2014hs,
author = {Brown, Russell and Cribbs, Sean and Meiklejohn, Christopher and Elliott, Sam},
title = {{Riak DT map}: a composable, convergent replicated dictionary},
booktitle = {1st Workshop on Principles and Practice of Eventual Consistency (PaPEC)},
year = {2014},
month = apr,
doi = {10.1145/2596631.2596633}
}

%% http://haslab.uminho.pt/cbm/files/abstractcounterpapocfinal.pdf
@inproceedings{Baquero:2016iv,
author = {Baquero, Carlos and Almeida, Paulo S{\'e}rgio and Lerche, Carl},
title = {The problem with embedded {CRDT} counters and a solution},
booktitle = {2nd Workshop on the Principles and Practice of Consistency for Distributed Data (PaPoC)},
year = {2016},
month = apr,
doi = {10.1145/2911151.2911159}
}

%% https://arxiv.org/pdf/1010.3615.pdf
@inproceedings{Martin:2010ih,
author = {Martin, St{\'e}phane and Urso, Pascal and Weiss, St{\'e}phane},
title = {Scalable {XML} Collaborative Editing with Undo},
booktitle = {On the Move to Meaningful Internet Systems (OTM)},
year = {2010},
pages = {507--514},
month = oct,
doi = {10.1007/978-3-642-16934-2_37}
}


%%%%%%%%% Operational transformation

%% http://itu.dk/stud/speciale/bepjea/xwebtex/litt/concurrency-control-in-groupware-systems.pdf
@inproceedings{Ellis:1989ue,
author = {Ellis, Clarence and Gibbs, S J},
title = {Concurrency Control in Groupware Systems},
booktitle = {ACM International Conference on Management of Data (SIGMOD)},
year = {1989},
month = may,
pages = {399--407},
doi = {10.1145/67544.66963}
}

%% http://www.itu.dk/stud/speciale/bepjea/xwebtex/litt/integrating-transformation-oriented-approach-to-concurrency-control.pdf
@inproceedings{Ressel:1996wx,
author = {Ressel, Matthias and Nitsche-Ruhland, Doris and Gunzenh{\"a}uer, Rul},
title = {An Integrating, Transformation-Oriented Approach to Concurrency Control and Undo in Group Editors},
booktitle = {ACM Conference on Computer Supported Cooperative Work (CSCW)},
year = {1996},
month = nov,
pages = {288--297},
doi = {10.1145/240080.240305}
}

%% http://hal.archives-ouvertes.fr/docs/00/10/90/39/PDF/OsterCollaborateCom06.pdf
@inproceedings{Oster:2006tr,
author = {Oster, G{\'e}rald and Molli, Pascal and Urso, Pascal and Imine, Abdessamad},
title = {Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems},
booktitle = {2nd International Conference on Collaborative Computing (CollaborateCom)},
year = {2006},
doi = {10.1109/COLCOM.2006.361867}
}

%% http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.933&rep=rep1&type=pdf
@inproceedings{Sun:1998vf,
author = {Sun, Chengzheng and Ellis, Clarence},
title = {Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements},
booktitle = {ACM Conference on Computer Supported Cooperative Work (CSCW)},
year = {1998},
pages = {59--68},
month = nov,
doi = {10.1145/289444.289469}
}

%% http://salvin.jeancharles.free.fr/Documents/Projet%20-%20Boulot/NTU-Singapore/p63-sun.pdf
@article{Sun:1998un,
author = {Sun, Chengzheng and Jia, Xiaohua and Zhang, Yanchun and Yang, Yun and Chen, David},
title = {Achieving Convergence, Causality Preservation, and Intention Preservation in Real-Time Cooperative Editing Systems},
journal = {ACM Transactions on Computer-Human Interaction (TOCHI)},
year = {1998},
volume = {5},
number = {1},
pages = {63--108},
doi = {10.1145/274444.274447}
}

%% http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5984
@article{Sun:2002jb,
author = {Sun, Chengzheng and Chen, David},
title = {Consistency Maintenance in Real-Time Collaborative Graphics Editing Systems},
journal = {ACM Transactions on Computer-Human Interaction (TOCHI)},
year = {2002},
volume = {9},
number = {1},
pages = {1--41},
month = mar,
doi = {10.1145/505151.505152}
}

@inproceedings{Suleiman:1997gl,
author = {Suleiman, Maher and Cart, Mich{\`e}le and Ferri{\'e}, Jean},
title = {Serialization of concurrent operations in a distributed collaborative environment},
booktitle = {International Conference on Supporting Group Work (GROUP)},
year = {1997},
pages = {435--445},
month = nov,
doi = {10.1145/266838.267369}
}

@inproceedings{Suleiman:1998eu,
author = {Suleiman, Maher and Cart, Mich{\`e}le and Ferri{\'e}, Jean},
title = {Concurrent operations in a distributed and mobile collaborative environment},
booktitle = {14th International Conference on Data Engineering (ICDE)},
year = {1998},
pages = {36--45},
month = feb,
doi = {10.1109/ICDE.1998.655755}
}

%% http://www-inf.it-sudparis.eu/cours/MOPS-RM/Articles/coherence.pdf
@inproceedings{Vidot:2000ch,
author = {Vidot, Nicolas and Cart, Michelle and Ferri{\'e}, Jean and Suleiman, Maher},
title = {Copies convergence in a distributed real-time collaborative environment},
booktitle = {ACM Conference on Computer Supported Cooperative Work (CSCW)},
year = {2000},
pages = {171--180},
month = dec,
doi = {10.1145/358916.358988}
}

%% http://www.lively-kernel.org/repository/webwerkstatt/projects/Collaboration/paper/Jupiter.pdf
@inproceedings{Nichols:1995fd,
author = {Nichols, David A and Curtis, Pavel and Dixon, Michael and Lamping, John},
title = {High-Latency, Low-Bandwidth Windowing in the {Jupiter} Collaboration System},
booktitle = {8th Annual ACM Symposium on User Interface Software and Technology (UIST)},
year = {1995},
pages = {111--120},
month = nov,
doi = {10.1145/215585.215706}
}

@inproceedings{Li:2004er,
author = {Li, Du and Li, Rui},
title = {Preserving operation effects relation in group editors},
booktitle = {ACM Conference on Computer Supported Cooperative Work (CSCW)},
year = {2004},
pages = {457--466},
month = nov,
doi = {10.1145/1031607.1031683}
}

@inproceedings{Li:2006kd,
author = {Li, Du and Li, Rui},
title = {A Performance Study of Group Editing Algorithms},
booktitle = {12th International Conference on Parallel and Distributed Systems (ICPADS)},
year = {2006},
pages = {300--307},
month = jul,
doi = {10.1109/ICPADS.2006.18}
}

%% http://www.ecscw.org/2003/017Ignat_ecscw03.pdf
@inproceedings{Ignat:2003jy,
author = {Ignat, Claudia-Lavinia and Norrie, Moira C},
title = {Customizable Collaborative Editor Relying on {treeOPT} Algorithm},
booktitle = {8th European Conference on Computer-Supported Cooperative Work (ECSCW)},
year = {2003},
pages = {315--334},
month = sep,
doi = {10.1007/978-94-010-0068-0_17}
}

%% http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.100.74&rep=rep1&type=pdf
@inproceedings{Davis:2002iv,
author = {Davis, Aguido Horatio and Sun, Chengzheng and Lu, Junwei},
title = {Generalizing Operational Transformation to the {Standard General Markup Language}},
booktitle = {ACM Conference on Computer Supported Cooperative Work (CSCW)},
year = {2002},
pages = {58--67},
month = nov,
doi = {10.1145/587078.587088}
}

@webpage{Wang:2015vo,
title = {{Apache Wave} (incubating) Protocol Documentation, Release 0.4},
author = {Wang, David and Mah, Alex and Lassen, Soren and Thorogood, Sam},
month = aug,
year = {2015},
howpublished = {Apache Software Foundation},
url = {https://people.apache.org/~al/wave_docs/ApacheWaveProtocol-0.4.pdf}
}

@webpage{Spiewak:2010vw,
author = {Spiewak, Daniel},
title = {Understanding and Applying Operational Transformation},
year = {2010},
month = may,
url = {http://www.codecommit.com/blog/java/understanding-and-applying-operational-transformation}
}

@webpage{DayRichter:2010tt,
author = {Day-Richter, John},
title = {What's different about the new {Google Docs}: Making collaboration fast},
year = {2010},
month = sep,
url = {https://drive.googleblog.com/2010/09/whats-different-about-new-google-docs.html}
}

@webpage{Etherpad:2011um,
author = {{AppJet, Inc.}},
title = {{Etherpad} and {EasySync} Technical Manual},
year = {2011},
month = mar,
url = {https://github.com/ether/etherpad-lite/blob/e2ce9dc/doc/easysync/easysync-full-description.pdf}
}

@webpage{Levien:2016wz,
author = {Levien, Raph},
title = {Towards a unified theory of {Operational Transformation} and {CRDT}},
year = {2016},
month = jul,
url = {https://medium.com/@raphlinus/towards-a-unified-theory-of-operational-transformation-and-crdt-70485876f72f}
}


%%%%%%% Causality

%% http://research.microsoft.com/en-US/um/people/Lamport/pubs/time-clocks.pdf
@article{Lamport:1978jq,
author = {Lamport, Leslie},
title = {Time, Clocks, and the Ordering of Events in a Distributed System},
journal = {Communications of the ACM},
year = {1978},
volume = {21},
number = {7},
pages = {558--565},
month = jul,
doi = {10.1145/359545.359563}
}

%% http://gsd.di.uminho.pt/members/cbm/ps/podc-dotted.pdf
@inproceedings{Preguica:2012fx,
author = {Pregui{\c c}a, Nuno and Baquero, Carlos and Almeida, Paulo S{\'e}rgio and Fonte, Victor and Gon{\c c}alves, Ricardo},
title = {Brief Announcement: Efficient Causality Tracking in Distributed Storage Systems with Dotted Version Vectors},
booktitle = {31st ACM Symposium on Principles of Distributed Computing (PODC)},
year = {2012},
month = jul,
doi = {10.1145/2332432.2332497}
}

%% http://dcg.ethz.ch/lectures/hs08/seminar/papers/mattern4.pdf
@article{Schwarz:1994gl,
author = {Schwarz, Reinhard and Mattern, Friedemann},
title = {Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail},
journal = {Distributed Computing},
year = {1994},
volume = {7},
number = {3},
pages = {149--174},
month = mar,
doi = {10.1007/BF02277859}
}

%% http://zoo.cs.yale.edu/classes/cs426/2013/bib/parker83detection.pdf
@article{ParkerJr:1983jb,
author = {Parker, Jr, D Stott and Popek, Gerald J and Rudisin, Gerard and Stoughton, Allen and Walker, Bruce J and Walton, Evelyn and Chow, Johanna M and Edwards, David and Kiser, Stephen and Kline, Charles},
title = {Detection of Mutual Inconsistency in Distributed Systems},
journal = {IEEE Transactions on Software Engineering},
year = {1983},
volume = {SE-9},
number = {3},
pages = {240--247},
month = may,
doi = {10.1109/TSE.1983.236733}
}

%% http://zoo.cs.yale.edu/classes/cs426/2012/lab/bib/fidge88timestamps.pdf
@inproceedings{Fidge:1988tv,
author = {Fidge, Colin J},
title = {Timestamps in message-passing systems that preserve the partial ordering},
booktitle = {11th Australian Computer Science Conference},
year = {1988},
pages = {56--66},
month = feb
}

%% http://www.win.tue.nl/~johanl/educ/2Q341/Clocks%20synchronization/causality.pdf
@article{Raynal:1996jl,
author = {Raynal, Michel and Singhal, Mukesh},
title = {Logical time: capturing causality in distributed systems},
journal = {IEEE Computer},
year = {1996},
volume = {29},
number = {2},
pages = {49--56},
month = feb,
doi = {10.1109/2.485846}
}

%%%%%%% General distributed systems stuff

%% https://dspace.jaist.ac.jp/dspace/bitstream/10119/4883/1/defago_et_al.pdf
@article{Defago:2004ji,
author = {D{\'e}fago, Xavier and Schiper, Andr{\'e} and Urb{\'a}n, P{\'e}ter},
title = {Total order broadcast and multicast algorithms: Taxonomy and survey},
journal = {ACM Computing Surveys},
year = {2004},
volume = {36},
number = {4},
pages = {372--421},
month = dec,
doi = {10.1145/1041680.1041682}
}

%% http://courses.csail.mit.edu/6.852/08/papers/CT96-JACM.pdf
@article{Chandra:1996cp,
author = {Chandra, Tushar Deepak and Toueg, Sam},
title = {Unreliable Failure Detectors for Reliable Distributed Systems},
journal = {Journal of the ACM},
year = {1996},
volume = {43},
number = {2},
pages = {225--267},
month = mar,
doi = {10.1145/226643.226647}
}

%% http://www.cs.technion.ac.il/people/mad/online-publications/podc2015-replds.pdf
@inproceedings{Attiya:2015dm,
author = {Attiya, Hagit and Ellen, Faith and Morrison, Adam},
title = {Limitations of Highly-Available Eventually-Consistent Data Stores},
booktitle = {ACM Symposium on Principles of Distributed Computing (PODC)},
year = {2015},
month = jul,
doi = {10.1145/2767386.2767419}
}

%% http://delab.csd.auth.gr/~dimitris/courses/mpc_fall05/papers/invalidation/acm_csur85_partitioned_network_consistency.pdf
@article{Davidson:1985hv,
author = {Davidson, Susan B and Garcia-Molina, Hector and Skeen, Dale},
title = {Consistency in Partitioned Networks},
journal = {ACM Computing Surveys},
year = {1985},
volume = {17},
number = {3},
pages = {341--370},
month = sep,
doi = {10.1145/5505.5508}
}

%% http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
@inproceedings{DeCandia:2007ui,
author = {DeCandia, Giuseppe and Hastorun, Deniz and Jampani, Madan and Kakulapati, Gunavardhan and Lakshman, Avinash and Pilchin, Alex and Sivasubramanian, Swaminathan and Vosshall, Peter and Vogels, Werner},
title = {{Dynamo}: {Amazon}'s Highly Available Key-Value Store},
booktitle = {21st ACM Symposium on Operating Systems Principles (SOSP)},
year = {2007},
pages = {205--220},
month = oct,
doi = {10.1145/1294261.1294281}
}

%% http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.2269&rep=rep1&type=pdf
@inproceedings{Terry:1994fp,
author = {Terry, Douglas B and Demers, Alan J and Petersen, Karin and Spreitzer, Mike J and Theimer, Marvin M and Welch, Brent B},
title = {Session Guarantees for Weakly Consistent Replicated Data},
booktitle = {3rd International Conference on Parallel and Distributed Information Systems (PDIS)},
year = {1994},
pages = {140--149},
month = sep,
doi = {10.1109/PDIS.1994.331722}
}

%% http://www.distributedprogramming.net/
@book{Cachin:2011wt,
author = {Cachin, Christian and Guerraoui, Rachid and Rodrigues, Lu{\'\i}s},
title = {Introduction to Reliable and Secure Distributed Programming},
publisher = {Springer},
year = {2011},
edition = {second},
month = feb,
doi = {10.1007/978-3-642-15260-3},
isbn = {978-3-642-15259-7}
}

%% https://queue.acm.org/detail.cfm?id=2655736
@article{Bailis:2014jx,
author = {Bailis, Peter and Kingsbury, Kyle},
title = {The Network is Reliable},
journal = {ACM Queue},
year = {2014},
volume = {12},
number = {7},
month = jul,
doi = {10.1145/2639988.2639988}
}

%% http://charlotte.ucsd.edu/classes/sp00/cse223/flp.pdf
@article{Fischer:1985tt,
author = {Fischer, Michael J and Lynch, Nancy A and Paterson, Michael S},
title = {Impossibility of Distributed Consensus with One Faulty Process},
journal = {Journal of the ACM},
year = {1985},
volume = {32},
number = {2},
pages = {374--382},
month = apr,
doi = {10.1145/3149.214121}
}

%% https://www.cs.cornell.edu/fbs/publications/DefLiveness.pdf
@article{Alpern:1985dg,
author = {Alpern, Bowen and Schneider, Fred B},
title = {Defining Liveness},
journal = {Information Processing Letters},
year = {1985},
volume = {21},
number = {4},
pages = {181--185},
month = oct,
doi = {10.1016/0020-0190(85)90056-0}
}

%% http://www.nowpublishers.com/articles/foundations-and-trends-in-programming-languages/PGL-011
@article{Burckhardt:2014hy,
author = {Burckhardt, Sebastian},
title = {Principles of Eventual Consistency},
journal = {Foundations and Trends in Programming Languages},
year = {2014},
volume = {1},
number = {1-2},
pages = {1--150},
month = oct,
doi = {10.1561/2500000011}
}

%% http://cacm.acm.org/magazines/2009/1/15666-eventually-consistent/fulltext
@article{Vogels:2009ca,
author = {Vogels, Werner},
title = {Eventually consistent},
journal = {Communications of the ACM},
year = {2009},
volume = {52},
number = {1},
pages = {40--44},
month = jan,
doi = {10.1145/1435417.1435432}
}

%% http://queue.acm.org/detail.cfm?id=2462076
@article{Bailis:2013jc,
author = {Bailis, Peter and Ghodsi, Ali},
title = {Eventual Consistency Today: Limitations, Extensions, and Beyond},
journal = {ACM Queue},
year = {2013},
volume = {11},
number = {3},
month = mar,
doi = {10.1145/2460276.2462076}
}

%% https://queue.acm.org/detail.cfm?id=2745385
@article{Sheehy:2015jm,
author = {Sheehy, Justin},
title = {There is No Now: Problems with simultaneity in distributed systems},
journal = {ACM Queue},
year = {2015},
volume = {13},
number = {3},
month = mar,
doi = {10.1145/2733108}
}

@article{Herlihy:1990jq,
author = {Herlihy, Maurice P and Wing, Jeannette M},
title = {Linearizability: A Correctness Condition for Concurrent Objects},
journal = {ACM Transactions on Programming Languages and Systems (TOPLAS)},
year = {1990},
volume = {12},
number = {3},
pages = {463--492},
month = jul,
doi = {10.1145/78969.78972}
}

%% http://lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf
@article{Gilbert:2002il,
author = {Gilbert, Seth and Lynch, Nancy A},
title = {Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services},
journal = {ACM SIGACT News},
year = {2002},
volume = {33},
number = {2},
pages = {51--59},
doi = {10.1145/564585.564601}
}
