Memory Model Specification Framework with Integrated Model Checking Capability †

Saved in:
Bibliographic Details
Title: Memory Model Specification Framework with Integrated Model Checking Capability †
Authors: Yue Yang, Ganesh Gopalakrishnan, Gary Lindstrom
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.cs.utah.edu/formal_verification/publications/journals/pdf/umm05.pdf.
Publication Year: 2000
Collection: CiteSeerX
Subject Terms: key words, Memory model, Operational specification, Java thread, Formal verification
Description: Given the complicated nature of modern shared memory systems, it is vital to have a systematic approach to specifying and analyzing memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support memory model verification: (i) it employs a simple and generic memory abstraction that can capture a large collection of memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, memory models can be developed in a parameterized style – designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another memory model. We formalize several classical memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a memory model definition from one style to the other.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.80.2730; http://www.cs.utah.edu/formal_verification/publications/journals/pdf/umm05.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.80.2730
http://www.cs.utah.edu/formal_verification/publications/journals/pdf/umm05.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.990B105A
Database: BASE
Description
Abstract:Given the complicated nature of modern shared memory systems, it is vital to have a systematic approach to specifying and analyzing memory consistency requirements. In this paper, we present the UMM specification framework, which integrates two key features to support memory model verification: (i) it employs a simple and generic memory abstraction that can capture a large collection of memory models as guarded commands with a uniform notation, and (ii) it provides built-in model checking capability to enable formal reasoning about thread behaviors. Using this framework, memory models can be developed in a parameterized style – designers can simply redefine a few bypassing rules and visibility ordering rules to obtain an executable specification of another memory model. We formalize several classical memory models, including Sequential Consistency, Coherence, and PRAM, to illustrate the general techniques of applying this framework. We then provide an alternative specification of the Java memory model, based on a proposal from Manson and Pugh, and demonstrate how to analyze Java thread semantics using model checking. We also compare our operational specification style with axiomatic specification styles and explore a mechanism that converts a memory model definition from one style to the other.