Chapter 2

Survivability: Design, Formal Modeling, and Validation of Cloud Storage Systems Using Maude

Rakesh Bobba

Rakesh Bobba

School of Electrical Engineering and Computer Science, Oregon State University, Corvallis, OR, USA

Search for more papers by this author
Jon Grov

Jon Grov

Gauge AS, Oslo, Norway

Search for more papers by this author
Indranil Gupta

Indranil Gupta

Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA

Search for more papers by this author
Si Liu

Si Liu

Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA

Search for more papers by this author
José Meseguer

José Meseguer

Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA

Search for more papers by this author
Peter Csaba Ölveczky

Peter Csaba Ölveczky

Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA

Department of Informatics, University of Oslo, Oslo, Norway

Search for more papers by this author
Stephen Skeirik

Stephen Skeirik

Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA

Search for more papers by this author
First published: 18 July 2018
Citations: 30

Abstract

To deal with large amounts of data while offering high availability, throughput, and low latency, cloud computing systems rely on distributed, partitioned, and replicated data stores. Such cloud storage systems are complex software artifacts that are very hard to design and analyze. We argue that formal specification and model checking analysis should significantly improve their design and validation. In particular, we propose rewriting logic and its accompanying Maude tools as a suitable framework for formally specifying and analyzing both the correctness and the performance of cloud storage systems. This chapter largely focuses on how we have used rewriting logic to model and analyze industrial cloud storage systems such as Google's Megastore, Apache Cassandra, Apache ZooKeeper, and RAMP. We also touch on the use of formal methods at Amazon Web Services.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.