Correct Transformational Design of Concurrent Search Structures
Storage and retrieval of large amounts of data are often based on tree-like data structures. Efficiency, indispensable in large distributed databases, is achieved by admitting internal concurrency. Concurrent operations behave correctly when they conform with the observable I/O-behaviour of their sequential counterparts.
The correct design of concurrent search structures has also been proposed and studied in an object-based language setting. There, concurrent versions are derived from correctly specified sequential ones by means of program transformation. In order to formally prove the correctness of such transformations, both an operational semantics at the object-level and an underlying process calculus semantics have been explored.
In both the database and the object-based language approaches to the correct design of concurrent search structures, the crucial point is the formalisation of an acceptable correctness criterion. In this paper, we use the underlying process calculus semantics of the object-based approach in order to formalise a notion of correctness, as motivated from the database view on concurrent search structures, and show its application to a known example program transformation.
KeywordsOperational Semantic Sequential Version Program Transformation Binary Search Tree External Behaviour
Unable to display preview. Download preview PDF.
- P.A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
- Grit Denker. Semantic refinement of concurrent object systems based on serializability. 1996. In this volume.Google Scholar
- M. Egner, U. Nestmann, and M. Steffen. Confluent processes for transformation correctness (prelim, version). Interner Bericht IMMD7-1/95, Informatik VII, Universität Erlangen-Nürnberg, 1995.Google Scholar
- J. F. Groote and M. P. A. Sellink. Confluence for Process Verification. In Lee and Smolka , pages 204–218.Google Scholar
- S. J. Hodges and C. B. Jones. Non-interference properties of a concurrent object-based language: Proofs based on an operational semantics. 1996. In this volume.Google Scholar
- C. Jones. Constraining interference in an object-based design method. In M.-C. Gaudel and J.-P. Jouannaud, editors, TAPSOFT ’93, volume 668 of LNCS, pages 136–150. Springer, 1993.Google Scholar
- C. Jones. A pi-calculus semantics for an object-based design notation. In Eike Best, editor, Fourth International Conference on Concurrency Theory (CONCUR ’93, Hildesheim, Germany), volume 715 of LNCS, pages 158–172. Springer, 1993.Google Scholar
- Insup Lee and Scott Smolka, editors. Proceedings of 6th International Conference on Concurrency Theory (CONCUR ’95, Philadelphia), volume 962 of LNCS. Springer, 1995.Google Scholar
- X. Liu and D. Walker. Confluence of processes and systems of objects. In P. D. Mosses, M. Nielsen, and M. I. Schwarzbach, editors, TAPSOFT ’95, volume 915 of LNCS. Springer, 1995.Google Scholar
- R. Milner. The polyadic π-calculus: A tutorial. Technical Report ECSLFCS-91-180, University of Edinburgh, 1991.Google Scholar
- A. Philippou and D. Walker. On sharing and determinacy in concurrent systems. In Lee and Smolka , pages 456–470.Google Scholar
- M. T. Sanderson. Proof Techniques for CCS. PhD thesis, University of Edinburgh, 1982.Google Scholar
- M. Steffen and U. Nestmann. Typing confluence. Interner Bericht, Informatik VII, Universität Erlangen-Nürnberg, 1996. To appear.Google Scholar
- C. Tofts. Proof Methods and Pragmatics for Parallel Programming. PhD thesis, LFCS, University of Edinburgh, 1991.Google Scholar
- D. Walker. Objects in the π-calculus. Research Report CS-RR-217, University of Warwick, 1992.Google Scholar
- D. Walker. Process calculus and parallel object-oriented programming languages. In International Summer Institute on Parallel Architectures, Languages, and Algorithms, Prague, 1993.Google Scholar
- D. Walker. Algebraic proofs of properties of objects. In D. Sannella, editor, Fifth European Symposion on Programming (ESOP ’94), volume 788 of LNCS. Springer, 1994.Google Scholar