Abstract
This is an attempt to combine the two research areas of programming methodology and automated theorem proving. We investigate the potential for automation of a programming methodology that supports the compile-time derivation of concurrency in imperative programs. In this methodology, concurrency is identified by the declaration of certain semantic properties (so-called "semantic relations") of appropriate program parts. Semantic declarations can be exploited to transform the sequential execution of the program into a parallel execution. We make observations about the automation of correctness proofs of such transformations for a limited domain of programs: sorting networks.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Ackerman, W. B. "Data Flow Languages." Computer 15, 2 (Feb. 1982), 15–25.
Bates, J. L., and Constable, R. L. Proofs as Programs. Tech. Rept. TR 82-530, Cornell University, 1982.
Boyer, R. S., and Moore, J S. A Computational Logic. Academic Press, 1979.
Boyer, R. S., and Moore, J S. A Theorem Prover for Recursive Functions, a User's Manual. Computer Science Laboratory, SRI International, 1979.
Dijkstra, E. W. A Discipline of Programming. Series in Automatic Computation, Prentice-Hall, 1976.
Huang, C.-H., and Lengauer, C. The Automated Proof of a Trace Transformation for a Bitonic Sort. Tech. Rept. TR-84-30, Department of Computer Sciences, The University of Texas at Austin, 1984.
Knuth, D. E. The Art of Computer Programming, Vol. 3: Sorting and Searching. Addison-Wesley, 1973. Sect. 5.3.4.
Kuck, D. J. "A Survey of Parallel Machine Organization and Programming." Computing Surveys 9, 1 (Mar. 1977), 29–59.
Lengauer, C., and Hehner, E. C. R. "A Methodology for Programming with Concurrency: An Informal Presentation." Science of Computer Programming 2, 1 (Oct. 1982), 1–18.
Lengauer, C. "A Methodology for Programming with Concurrency: The Formalism." Science of Computer Programming 2, 1 (Oct. 1982), 19–52.
Lengauer, C. A Methodology for Programming with Concurrency. Tech. Rept. CSRG-142, Computer Systems Research Group, University of Toronto, Apr., 1982.
Lengauer, C. "On the Role of Automated Theorem Proving in the Compile-Time Derivation of Concurrency." Journal of Automated Reasoning 1 (1985). To appear. Earlier version: On the Mechanical Transformation of Program Executions to Derive Concurrency. Tech. Rept. TR-83-20, Department of Computer Sciences, The University of Texas at Austin, Oct., 1983.
Manna, Z., and Waldinger, R. "A Deductive Approach to Program Synthesis." ACM TOPLAS 2, 1 (Jan. 1980), 90–121.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag
About this paper
Cite this paper
Lengauer, C., Huang, CH. (1985). The static derivation of concurrency and its mechanized certification. In: Brookes, S.D., Roscoe, A.W., Winskel, G. (eds) Seminar on Concurrency. CONCURRENCY 1984. Lecture Notes in Computer Science, vol 197. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15670-4_7
Download citation
DOI: https://doi.org/10.1007/3-540-15670-4_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-15670-3
Online ISBN: 978-3-540-39593-5
eBook Packages: Springer Book Archive