|
ABSTRACT
Specification and verification techniques for abstract data types that have been successful for sequential programs can be extended in a natural way to provide the same benefits for concurrent programs. We propose an approach to specifying and verifying concurrent objects based on a novel correctness condition, which we call “linearizability.” Linearizability provides the illusion that each operation takes effect instantaneously at some point between its invocation and its response, implying that the meaning of a concurrent object's operations can still be given by pre- and post-conditions. In this paper, we will define and discuss linearizability, and then give examples of how to reason about concurrent objects and verify their implementations based on their (sequential) axiomatic specifications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
J.A. Goguen, J.W. Thatcher, E.G. Wagner, and J.B. Wright. Abstract Data Types as Initial Algebras and Correctness of Data Representations. In Proceedings from the Conference of Computer Graphics, Pattern Recognition and Data Structures, pages 89-93. ACM, May, 1975.
|
 |
2
|
|
| |
3
|
G. Birkhoff and J.D. Lipson. Heterogeneous Algebras. Journal of Combinatorial Theory 8:115-133, 1970.
|
| |
4
|
R.M. Burstalt and J.A. Goguen. Putting Theories Together to Make Specifications. in Fifth international joint Conference on Artificial Intelligence, pages 1045-1058, August, 1977. Invited paper.
|
| |
5
|
H.-D. Ehrich. Extensions and Implementations of Abstract Data Type Specifications. Lecture Notes in Computer Science. Volume ~a4.Mathematical Foundations of Computer Science 1978 Proceedings. $pringer-Vedag, Poland, 1978, pages 155-164. 7th Symposium.
|
| |
6
|
|
 |
7
|
|
| |
8
|
J.V. Guffag. The Specification and Application to Programming of Abstract Data Types. PhD thesis, University of Toronto, Toronto, Canada, September, 1975.
|
 |
9
|
|
| |
10
|
J.V. Guttag, J.J. Homing, and j.M. Wing. Larch in Five Easy Pieces. Technical Report 5, DEC Systems Research Center, july, 1985.
|
| |
11
|
J.V. Guttag, J.J. Homing, and J.M. Wing. The Larch Family of Specification Languages. IEEE Software 2(5):24-36, September, 1985.
|
| |
12
|
B.T. Hailpern and S. Owicki. Verifying Network Protocols Using Temporal Logic. In Proceedings Trends and Applications 1980: Computer Network Protocols, pages 18-28. IEEE Computer Society, 1980.
|
 |
13
|
|
| |
14
|
C.A.R. Hoare. Proof of Correctness of Data Representations. Acta Informatica 1(1):271-281,1972.
|
 |
15
|
|
 |
16
|
|
| |
17
|
L. Lamport. How to Make a Multiprocessor Computer That Correctly Executes Muttiprocess Programs. IEEE Transactions on Computers C-28(9):690, September, 1979.
|
 |
18
|
|
| |
19
|
L. Lamport. On Interprocess Communication. Technical Report 8, DEC Systems Research Center, 1985. To appear in Distributed Computing.
|
| |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
S. Owicki and D. Gries. An Axiomatic Proof Technique for Parallel Programs. Actalnformatica 6(4):319-340, 1976,
|
 |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
A. Pnueli. The Temporal Logic of Programs. In 18th Annua/ Symposium on Foundations of Computer Science, pages 46.57. Providence, RI, Oct. 31 ~ Nov. 2, 1977.
|
| |
28
|
M. Wand. Final Algebra Semantics and Data Type Extensions. Journal of Computer and System Sciences 19(1 ):27-44, August, 1979.
|
| |
29
|
S.N. Zilles. Abstract Specifications for Data Types. IBM Research Laboratory, San Jose, CA, 1975.
|
CITED BY 46
|
|
|
|
|
|
|
|
|
|
Marcos K. Aguilera , Svend Frolund , Vassos Hadzilacos , Stephanie L. Horn , Sam Toueg, Abortable and query-abortable objects and their efficient implementation, Proceedings of the twenty-sixth annual ACM symposium on Principles of distributed computing, August 12-15, 2007, Portland, Oregon, USA
|
|
Maged M. Michael , Michael L. Scott, Simple, fast, and practical non-blocking and blocking concurrent queue algorithms, Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, p.267-275, May 23-26, 1996, Philadelphia, Pennsylvania, United States
|
|
|
|
|
|
|
|
|
James Cowling , Daniel Myers , Barbara Liskov , Rodrigo Rodrigues , Liuba Shrira, HQ replication: a hybrid quorum protocol for byzantine fault tolerance, Proceedings of the 7th symposium on Operating systems design and implementation, November 06-08, 2006, Seattle, Washington
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Miguel Castro , Peter Druschel , Ayalvadi Ganesh , Antony Rowstron , Dan S. Wallach, Secure routing for structured peer-to-peer overlay networks, Proceedings of the 5th symposium on Operating systems design and implementation Due to copyright restrictions we are not able to make the PDFs for this conference available for downloading, December 09-11, 2002, Boston, Massachusetts
|
|
|
|
|
|
|
|
|
|
|
Phillip B. Gibbons , Michael Merritt , Kourosh Gharachorloo, Proving sequential consistency of high-performance shared memories (extended abstract), Proceedings of the third annual ACM symposium on Parallel algorithms and architectures, p.292-303, July 21-24, 1991, Hilton Head, South Carolina, United States
|
|
Rivka Ladin , Barbara Liskov , Liuba Shrira, Lazy replication: exploiting the semantics of distributed services, Proceedings of the ninth annual ACM symposium on Principles of distributed computing, p.43-57, August 22-24, 1990, Quebec City, Quebec, Canada
|
|
|
|
|
|
|
|
|
Yehuda Afek , Dalia Dauber , Dan Touitou, Wait-free made fast, Proceedings of the twenty-seventh annual ACM symposium on Theory of computing, p.538-547, May 29-June 01, 1995, Las Vegas, Nevada, United States
|
|
|
J. Robert von Behren , Eric A. Brewer , Nikita Borisov , Michael Chen , Matt Welsh , Josh MacDonald , Jeremy Lau , David E. Culler, Ninja: A Framework for Network Services, Proceedings of the General Track: 2002 USENIX Annual Technical Conference, p.87-102, June 10-15, 2002
|
|
|
|
|
|
|
|
Yehuda Afek , Danny Dolev , Hagit Attiya , Eli Gafni , Michael Merritt , Nir Shavit, Atomic snapshots of shared memory, Proceedings of the ninth annual ACM symposium on Principles of distributed computing, p.1-13, August 22-24, 1990, Quebec City, Quebec, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peer to Peer - Readers of this Article have also read:
-
Data structures for quadtree approximation and compression
Communications of the ACM
28, 9
Hanan Samet
-
A hierarchical single-key-lock access control using the Chinese remainder theorem
Proceedings of the 1992 ACM/SIGAPP Symposium on Applied computing
Kim S. Lee
, Huizhu Lu
, D. D. Fisher
-
The GemStone object database management system
Communications of the ACM
34, 10
Paul Butterworth
, Allen Otis
, Jacob Stein
-
Putting innovation to work: adoption strategies for multimedia communication systems
Communications of the ACM
34, 12
Ellen Francik
, Susan Ehrlich Rudman
, Donna Cooper
, Stephen Levine
-
An intelligent component database for behavioral synthesis
Proceedings of the 27th ACM/IEEE Design Automation Conference on
Gwo-Dong Chen
, Daniel D. Gajski
|