ACM Home Page
Please provide us with feedback. Feedback
Predicate path expressions
Full text PdfPdf (915 KB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages table of contents
San Antonio, Texas
Pages: 226 - 236  
Year of Publication: 1979
Author
Sten Andler  Carnegie-Mellon University, Pittsburgh, PA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 33,   Citation Count: 16
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/567752.567774
What is a DOI?

ABSTRACT

Path expressions are a tool for synchronization of concurrent processes. They are an integral part of the data abstraction mechanism in a programming language, and specify synchronization entirely in terms of the allowable sequences of operations on an object of the abstract data type. This paper describes an attempt to push the path expression synchronization construct along three dimensions - specification, verification, and implementation - into a useful theoretical and practical tool. We define Predicate Path Expressions (PPEs), which allow for a more convenient specification of many synchronization problems. The predicate is a powerful extension to path expressions that increases their expressiveness. We formally define the semantics of PPEs by a transformation to a corresponding nondeterministic program, thus allowing the use of known verification techniques for nondeterministic programs to be used for proving properties of the PPE and the data abstraction of which it is a part. We also describe our existing implementation, in Algol 68, of a data abstraction mechanism that incorporates PPEs.


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
{Andler 78} Andler, S. Synchronization Primitives and the Verification of Concurrent Programs. In Proceedings of the Second International Symposium on Operating Systems. IRIA, Le Chesnay, France, Oct. 1978.
 
2
{Andler and Hibbard 77} Andler, S., and Hibbard, P. G. Types in Algol 68. In Proceedings of the Fifth Annual III Conference on the Implementation and Design of Algorithmic Languages, pages 124-144. IRIA, Le Chesnay, France, May 1977.
 
3
{Andler et al 78} Andler, S., Feiler, P., Habermann, A. N., Prasad, V. R., and Tichy, W. Letter to the Editor. Operating Systems Review 12(1):6-11, Jan. 1978.
 
4
{Berzins 77} Berzins, V. Denotational and Axiomatic Definitions for Path Expressions. Computation Structures Group Memo 153-1, Laboratory for Computer Science, M.I.T., Cambridge, Mass., Nov. 1977.
 
5
 
6
{Campbell and Miller 78} Campbell, R. H., and Miller, T. J. A Path Pascal Language. Draft, Department of Computer Science, University of Illinois at Champaign-Urbana, Urbana, Illinois, April 1978.
7
 
8
 
9
10
 
11
{Flon and Suzuki 78} Flon, L. and Suzuki, N. Consistent and Complete Proof Rules for the Total Correctness of Parallel Programs. In Proceedings of the Nineteenth Annual IEEE Conference on the Foundations of Computer Science. Ann Arbor, Michigan, Oct. 1978.
 
12
{Floyd 67} Floyd, R. W. Assigning Meanings to Programs. In J. T. Schwartz, editor, Mathematical Aspects of Computer Science, Vol. 19, pages 19-32. American Mathematical Society, Providence, R.I., 1967.
13
 
14
{Gerber 78} Gerber, A. J. Letter to the Editor. Operating Systems Review 12(3):5-10, July 1978.
 
15
{Habermann 73} Habermann, A. N. Operations on shared data controlled by function modules in type definitions. Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, Sept. 1973.
 
16
{Habermann 75} Habermann, A. N. Path Expressions. Technical Report, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, June 1975.
 
17
{Habermann et al 78} Habermann, A. N., Flon, L., Cooprider, L., Feiler, P., Guarino, L., and Schwanke, R. S. Modularization and Hierarchy in a Family of Operating Systems. Technical Report CMU-CS-78-101, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, PA, Feb. 1978.
 
18
{Hibbard et al 76} Hibbard, P. G., Knueven, P. and Leverett, B. W. A Stackless Run-time Implementation Scheme. In Proceedings of the International Conference on Algorithmic Languages, pages 176-192. Courant Institute, New York, 1976.
19
 
20
{Lauer and Campbell 74} Lauer, P. E., and Campbell, R. H. A Description of Path Expressions by Petri Nets. Technical Report, Computing Laboratory, University of Newcastle Upon Tyne, Newcastle Upon Tyne, Great Britain, May 1974.
 
21
{Robert and Verjus 77} Robert, P., and Verjus, J.-P. Toward Autonomous Descriptions of Synchronization Modules. In B. Gilchrist, editor, Information Processing 77, IFIP, pages 981-986. North-Holland Publ. Co., 1977.
 
22
{Schmid 76} Schmid, H. A. On the Efficient Implementation of Conditional Critical Regions and the Construction of Monitors. Acta Informatica 6:227-249, 1976.

CITED BY  16