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...

Descripción completa

Detalles Bibliográficos
Autores principales: Nair, Sreeja S., Petri, Gustavo, Shapiro, Marc
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