Cargando…
Proving the Safety of Highly-Available Distributed Objects
To provide high availability in distributed systems, object replicas allow concurrent updates. Although replicas eventually converge, they may diverge temporarily, for instance when the network fails. This makes it difficult for the developer to reason about the object’s properties, and in particula...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702238/ http://dx.doi.org/10.1007/978-3-030-44914-8_20 |
_version_ | 1783616573715513344 |
---|---|
author | Nair, Sreeja S. Petri, Gustavo Shapiro, Marc |
author_facet | Nair, Sreeja S. Petri, Gustavo Shapiro, Marc |
author_sort | Nair, Sreeja S. |
collection | PubMed |
description | To provide high availability in distributed systems, object replicas allow concurrent updates. Although replicas eventually converge, they may diverge temporarily, for instance when the network fails. This makes it difficult for the developer to reason about the object’s properties, and in particular, to prove invariants over its state. For the subclass of state-based distributed systems, we propose a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control. Our approach allows reasoning about individual operations separately. We demonstrate that our rules are sound, and we illustrate their use with some representative examples. We automate the rule using Boogie, an SMT-based tool. |
format | Online Article Text |
id | pubmed-7702238 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-77022382020-12-01 Proving the Safety of Highly-Available Distributed Objects Nair, Sreeja S. Petri, Gustavo Shapiro, Marc Programming Languages and Systems Article To provide high availability in distributed systems, object replicas allow concurrent updates. Although replicas eventually converge, they may diverge temporarily, for instance when the network fails. This makes it difficult for the developer to reason about the object’s properties, and in particular, to prove invariants over its state. For the subclass of state-based distributed systems, we propose a proof methodology for establishing that a given object maintains a given invariant, taking into account any concurrency control. Our approach allows reasoning about individual operations separately. We demonstrate that our rules are sound, and we illustrate their use with some representative examples. We automate the rule using Boogie, an SMT-based tool. 2020-04-18 /pmc/articles/PMC7702238/ http://dx.doi.org/10.1007/978-3-030-44914-8_20 Text en © The Author(s) 2020 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. |
spellingShingle | Article Nair, Sreeja S. Petri, Gustavo Shapiro, Marc Proving the Safety of Highly-Available Distributed Objects |
title | Proving the Safety of Highly-Available Distributed Objects |
title_full | Proving the Safety of Highly-Available Distributed Objects |
title_fullStr | Proving the Safety of Highly-Available Distributed Objects |
title_full_unstemmed | Proving the Safety of Highly-Available Distributed Objects |
title_short | Proving the Safety of Highly-Available Distributed Objects |
title_sort | proving the safety of highly-available distributed objects |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702238/ http://dx.doi.org/10.1007/978-3-030-44914-8_20 |
work_keys_str_mv | AT nairsreejas provingthesafetyofhighlyavailabledistributedobjects AT petrigustavo provingthesafetyofhighlyavailabledistributedobjects AT shapiromarc provingthesafetyofhighlyavailabledistributedobjects |