Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Open access

A Proof System for Communicating Sequential Processes

Published: 01 July 1980 Publication History
  • Get Citation Alerts
  • Abstract

    An axiomatic proof system is presented for proving partial correctness and absence of deadlock (and failure) of communicating sequential processes. The key (meta) rule introduces cooperation between proofs, a new concept needed to deal with proofs about synchronization by message passing. CSP's new convention for distributed termination of loops is dealt with. Applications of the method involve correctness proofs for two algorithms, one for distributed partitioning of sets, the other for distributed computation of the greatest common divisor of n numbers.

    References

    [1]
    APT, K.R. Recursive assertions and parallel programs. Submitted for publication.
    [2]
    APT, K.R., DE ROEVER, W.P., AND FRANCEZ, N. Weakest precondition semantics for communicaring processes. To appear.
    [3]
    ASHCRO~r, E. Proving assertions about parallel programs. J. Comput. Syst. Sci. 10 (1975), 110- 135.
    [4]
    CHANOY, K.M., AND MISRA, J. An axiomatic proof technique for networks of communicating processes. Tech. Rep. T1~-98, Dep. of Computer Science, Univ. of Texas at Austin, 1979.
    [5]
    DIJKSTRA, E.W. A correctness proof for communicating processes--A small exercise. EWD-607, Burroughs, Nuenen, The Netherlands, 1977.
    [6]
    FRANCEZ, N. On achieving distributed termination. A CM Trans. Program, Lang. Syst. 2, 1 (January 1980), 42-55.
    [7]
    FRANCEZ, N., HOARE, C.A.R., LEHMANN, D.J., AND DE ROEVER, W.P. Semantics of nondeterminism, concurrency and communication. J. Comput. Syst. Sci. 19 (1979), 290-308.
    [8]
    FRANCEZ, N., AND PNUELI, A. A proof method for cyclic programs. Acta Inf. 9 (1978).
    [9]
    FRANCEZ, N., AND RODEH, M. Achieving distributed termination without freezing. Rep. TR 72, IBM Israel Scientific Center, 1980.
    [10]
    HOARE, C.A.R. Towards a theory of parallel programming. In Operating Systems Techniques, C.A.R. Hoare and R. Perrot, Eds., Academic Press, New York, 1972.
    [11]
    HOARE, C.A.R. Communicating sequential processes. Commun, ACM 21, 8 (August 1978), 666- 677.
    [12]
    HOWARD, J.H. Proving monitors. Commun. ACM 19, 5 (May 1976), 273-279.
    [13]
    LAMPORT, L. Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. 3, 2 (1977), 125-143.
    [14]
    LEVlN, G.M. A proof technique for communicating sequential processes (with an example). Tech. Rep., Computer Science Dep., Cornell Univ., 1979. To be submitted to Acta Inf.
    [15]
    MAZVRKIEWICZ, A. A complete set of assertions on distributed systems. Inst. of Computer Science, Polish Academy of Science, 1979.
    [16]
    OWiCKI, S.S. A consistent and complete deductive system for the verification of parallel programs. Proc. 8th ACM Syrnp. on Theory of Computing, 1976, 73-86.
    [17]
    OWICKI, S.S., AND GRIES, D. Verifying properties of parallel programs: An axiomatic approach. Commun. ACM 19, 5 (May 1976), 279-285.
    [18]
    OWlCKI, S.S., AND GRIES, D. An axiomatic proof technique for parallel programs. L Acta Inf. 6, 1976, 319-340.

    Cited By

    View all
    • (2024)Verificación de Programas DistribuidosRevista Abierta de Informática Aplicada10.59471/raia2023877:2(51-70)Online publication date: 12-Feb-2024
    • (2024)Locally Abstract, Globally Concrete Semantics of Concurrent Programming LanguagesACM Transactions on Programming Languages and Systems10.1145/364843946:1(1-58)Online publication date: 16-Feb-2024
    • (2024)A proof system of the CaIT calculusFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-022-2258-318:2Online publication date: 1-Apr-2024
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Programming Languages and Systems
    ACM Transactions on Programming Languages and Systems  Volume 2, Issue 3
    July 1980
    195 pages
    ISSN:0164-0925
    EISSN:1558-4593
    DOI:10.1145/357103
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 July 1980
    Published in TOPLAS Volume 2, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)81
    • Downloads (Last 6 weeks)6

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Verificación de Programas DistribuidosRevista Abierta de Informática Aplicada10.59471/raia2023877:2(51-70)Online publication date: 12-Feb-2024
    • (2024)Locally Abstract, Globally Concrete Semantics of Concurrent Programming LanguagesACM Transactions on Programming Languages and Systems10.1145/364843946:1(1-58)Online publication date: 16-Feb-2024
    • (2024)A proof system of the CaIT calculusFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-022-2258-318:2Online publication date: 1-Apr-2024
    • (2023)Towards Exogenous Coordination of Concurrent Cloud ApplicationsInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402350038934:01(1-25)Online publication date: 5-Oct-2023
    • (2023)Uniform Substitution for Dynamic Logic with Communicating Hybrid ProgramsAutomated Deduction – CADE 2910.1007/978-3-031-38499-8_6(96-115)Online publication date: 1-Jul-2023
    • (2023)Reasoning About Choreographic ProgramsCoordination Models and Languages10.1007/978-3-031-35361-1_8(144-162)Online publication date: 15-Jun-2023
    • (2022)Approximate verification of concurrent systems using token structures and invariantsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-022-00650-624:4(613-633)Online publication date: 1-Aug-2022
    • (2022)Issues in the design of a parallel object-oriented languageFormal Aspects of Computing10.1007/BF018872141:1(366-411)Online publication date: 2-Jan-2022
    • (2022)Reasoning about dynamically evolving process structuresFormal Aspects of Computing10.1007/BF012154086:3(269-316)Online publication date: 2-Jan-2022
    • (2021)Assessing the Success and Impact of Hoare’s LogicTheories of Programming10.1145/3477355.3477359(41-76)Online publication date: 4-Oct-2021
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media