Proving Correctness of a Controller Algorithm for the RAID Level 5 System

Abstract

Most RAID controllers implemented in industry are complicated and difficult to reason about. This complexity has led to software and hardware systems that are difficult to debug and hard to modify. To overcome this problem Courtright and Gibson have developed a rapid prototyping framework for RAID architectures which relies on a generic controller algorithm. The designer of a new architecture needs to specify parts of the generic controller algorithm and must justify the validity of the controller algorithm obtained. However the latter task may be difficult due to the concurrency of operations on the disks. This is the reason why it would be useful to provide designers with an automated verification tool tailored specifically for the RAID prototyping system. As a first step towards building such a tool, our approach consists of studying several controller algorithms manually, to determine the key properties that need to be verified. This paper presents the modeling and verification of a controller algorithm for the RAID Level 5 System. We model the system using I/O automata, give an external requirements specification and prove that the model implements its specification. We use a key invariant to find an error in a controller algorithm for the RAID Level 6 System.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 1998
Accession Number
ADA343411

Entities

People

  • Jeannette Wing
  • Mandana Vaziri
  • Nancy Lynch

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Air Force
  • Algorithms
  • Automata
  • Case Studies
  • Computer Science
  • Computers
  • Consistency
  • Debugging
  • Homosexuality
  • Notation
  • Product Prototyping
  • Recovery
  • Sexual Orientation
  • Simulations
  • Software Prototyping
  • Specifications
  • Universities

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Robotics and Automation.
  • Software Engineering.