Survivability: Design, Formal Modeling, and Validation of Cloud Storage Systems Using Maude
Rakesh B. Bobbaa, Jon Grovb, Indranil Guptac, Si Liuc, José Meseguerc, Peter Csaba Ölveczkyc d, Stephen Skeirikc
- aSchool of Electrical Engineering and Computer Science, Oregon State University, Corvallis, OR, USA
- bGauge AS, Oslo, Norway
- cDepartment of Computer Science, University of Illinois at Urbana-Champaign, Urbana, IL, USA
- dDepartment of Informatics, University of Oslo, Oslo, Norway
Papers open inside SciRah from the original publisher or repository; SciRah never hosts them.
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.
TL;DRThis work is based on research sponsored by the Air Force Research Laboratory and the Air Air Force Office of Scientific Research, under agreement number FA8750-11-2-0084 and is authorized to reproduce and distribute for Government purposes notwithstanding any copyright notation thereon. (Semantic Scholar)

