Correctness of concurrent processes

  • Ernst-Rüdiger Olderog
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 379)


A new notion of correctness for concurrent processes is introduced and investigated. It is a relationship P sat S between process terms P built up from operators of CCS [Mi 80], CSP [Ho 85] and COSY [LTS 79] and logical formulas S specifying sets of finite communication sequences as in [Zw 89]. The definition of P sat S is based on a Petri net semantics for process terms [Ol 89]. The main point is that P sat S requires a simple liveness property of the net denoted by P. This implies that P is divergence free and externally deterministic.

Process correctness P sat S determines a new semantic model for process terms and logical formulas. It is a modification ℜ* of the readiness semantics [OH 86] which is fully abstract with respect to the relation P sat S. The model ℜ* abstracts from the concurrent behaviour of process terms and certain aspects of their internal activity. In ℜ* process correctness P sat S boils down to semantic equality: ℜ*[P]=ℜ*[S]. The modified readiness equivalence is closely related to failure equivalence [BHR 84] and strong testing equivalence [DH 84].


Semantic Model Process Correctness Trace Formula Process Term Liveness Property 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8. References

  1. [As 84]
    E. Astesiano, Combining an operational with an algebraic approach to the specification of concurrency, in: D. Bjørner (Ed.), Proc. Workshop on Combining Methods (Nyborg, Denmark, 1984)Google Scholar
  2. [AS 85]
    B. Alpern, F.B. Schneider, Defining liveness, Inform. Proc. Letters 21 (1985) 181–185.Google Scholar
  3. [BMOZ 88]
    J.W. de Bakker, J.-J. Meyer, E.-R. Olderog, J.I. Zucker, Transition systems, metric spaces and ready sets in the semantics of uniform concurrency, J. Comput. System Sci. 36 (1988) 158–224.Google Scholar
  4. [Be 87]
    E. Best, COSY: its relation to nets and CSP, in: W. Brauer, W. Reisig, G. Rozenberg (Eds.), Petri Nets: Applications and Relationships to Other Models of Concurrency, Lecture Notes in Comput. Sci. 255 (Springer-Verlag, 1987) 416–440.Google Scholar
  5. [BKO 87]
    J.A. Bergstra, J.W. Klop, E.-R. Olderog, Failures without chaos: a new process semantics for fair abstraction, in: M. Wirsing (Ed.), Proc. IFIP Working Conference on Formal Description of Programming Concepts III (North-Holland, 1987) 77–101.Google Scholar
  6. [BDF 88]
    M. Bretschneider, M. Duque Anton, A. Fink, Constructing and verifying protocols using TCSP, in: S. Aggarwal, K. Sabnani (Ed.), Proc. IFIP Working Conference on Protocol Specification, Testing and Verification (North-Holland, 1988).Google Scholar
  7. [BHR 84]
    S.D. Brookes, C.A.R. Hoare, A.W. Roscoe, A theory of communicating sequential processes, J. ACM 31 (1984) 560–599.Google Scholar
  8. [CHo 81]
    Z. Chaochen, C.A.R. Hoare, Partial correctness of communicating processes, in: Proc. 2nd Intern. Conf. on Distributed Comput. Systems, Paris, 1981.Google Scholar
  9. [DH 84]
    R. DeNicola, M. Hennessy, Testing equivalences for processes, Theoret. Comput. Sci. 34 (1984) 83–134.Google Scholar
  10. [Di 76]
    E.W. Dijkstra, A Discipline of Programming (Prentice-Hall, Englewood Cliffs, NJ, 1976).Google Scholar
  11. [DB 89]
    M. Duque Antón, M. Bretschneider, Formulas, processes and Petri-nets applied to the specification and verification of a HDLC protocol, in J. Diaz, F. Orejas (Eds.), Proc. TAPSOFT '89, Vol. 2 Lecture Notes in Comput. Sci. 352 (Springer-Verlag, 1989) 140–154.Google Scholar
  12. [Go 88]
    U. Goltz, Über die Darstellung von CCS-Programmen durch Petrinetze, Doctoral Diss., RWTH Aachen, 1988.Google Scholar
  13. [Hen 88]
    M. Hennessy, Algebraic Theory of Processes (MIT Press, Cambridge, Mass., 1988).Google Scholar
  14. [HP 79]
    M. Hennessy, G.D. Plotkin, Full abstraction for a simple programming language, in: J. Becvar (Ed.), 8th Symp. on Math. Found. of Comput. Sci., Lecture Notes in Comput. Sci. 74 (Springer-Verlag, 1979) 108–120.Google Scholar
  15. [Ho 78]
    C.A.R. Hoare, Some properties of predicate transformers, J. ACM 25 (1978) 461–480.Google Scholar
  16. [Ho 81]
    C.A.R. Hoare, A calculus of total correctness for communicating processes, Sci. Comput. Progr. 1 (1981) 44–72.Google Scholar
  17. [Ho 85]
    C.A.R. Hoare, Communicating Sequential Processes (Prentice-Hall, London, 1985).Google Scholar
  18. [Jo 87]
    B. Jonsson, Compositional Verification of Distributed Systems, Ph.D. Thesis, Dept. Comput. Sci., Uppsala Univ., 1987.Google Scholar
  19. [LTS 79]
    P.E. Lauer, P.R. Torrigiani, M.W. Shields, COSY — A system specification language based on paths and processes, Acta Inform. 12 (1979) 109–158.Google Scholar
  20. [Mz 77]
    A. Mazurkiewicz, Concurrent program schemes and their interpretations, Tech. Report DAIMI PB-78, Aarhus Univ., 1977.Google Scholar
  21. [MS 88]
    A.R. Meyer, K. Sieber, Towards fully abstract semantics for local variables, Preliminary Report, in: Proc. 15th ACM Symp. Principles of Program. Lang. (San Diego, California, 1988) 191–203.Google Scholar
  22. [Mi 77]
    R. Milner, Fully abstract models of typed λ-calculi, Theoret. Comput. Sci. 4 (1977) 1–22.Google Scholar
  23. [Mi 80]
    R. Milner, A Calculus of Communicating Systems, Lecture Notes in Comput. Sci. 92 (Springer-Verlag, 1980).Google Scholar
  24. [MC 81]
    J. Misra, K.M. Chandy, Proofs of networks of processes, IEEE Trans. Software Eng. 7 (1981) 417–426.Google Scholar
  25. [Ol 88/89]
    E.-R. Olderog, Nets, Terms and Formulas: Three Views of Concurrent Processes and Their Relationship, Habilitationsschrift, Univ. Kiel, 1988/89.Google Scholar
  26. [Ol 89]
    E.-R. Olderog, Strong bisimilarity on nets: a new cvoncept for comparing net semantics, in: J.W. de Bakker, W.P. de Roever, G. Rozenberg (Eds.), Linear Time/Branching Time/Partial Order in the Semantics of Concurrency, Lecture Notes in Comput. Sci. 354 (Springer-Verlag, 1989) 549–573.Google Scholar
  27. [OH 86]
    E.-R. Olderog, C.A.R. Hoare, Specification-oriented semantics for communicating processes, Acta Inform. 23 (1986) 9–66.Google Scholar
  28. [Os 83]
    M. Ossefort, Correctness proofs of communicating processes: three illustrative examples from the literature, ACM TOPLAS 5 (1983) 620–640.Google Scholar
  29. [OL 82]
    S. Owicki, L. Lamport, Proving liveness properties of concurrent programs, ACM TOPLAS 4 (1982) 199–223.Google Scholar
  30. [Pl 77]
    G.D. Plotkin, LCF considered as a programming language, Theoret. Comput. Sci. 5 (1977) 223–255.Google Scholar
  31. [Re 85]
    W. Reisig, Petri Nets, An Introduction, EATCS Monographs on Theoret. Comput. Sci. (Springer-Verlag, 1985).Google Scholar
  32. [Rm 87]
    M. Rem, Trace theory and systolic computation, in: J.W. de Bakker, A.J. Nijman, P.C. Treleaven (Eds.), Proc. PARLE Conf., Eindhoven, Vol. 1, Lecture Notes in Comput. Sci. 258, (Springer-Verlag, 1987) 14–33.Google Scholar
  33. [ST 87]
    D.T. Sanella, A. Tarlecki, On observational equivalence and algebraic specification, J. Comput. System Sci. 34 (1987) 150–178.Google Scholar
  34. [Sn 85]
    J.L.A. van de Snepscheut, Trace Theory and VLSI Design, Lecture Notes in Comput. Sci. 200 (Springer-Verlag, 1985).Google Scholar
  35. [Sti 87]
    C. Stirling, Modal logics for communicating systems, Theoret. Comput. Sci. 49 (1987) 311–347.Google Scholar
  36. [WGS 87]
    J. Widom, D. Gries, F.B. Schneider, Completeness and incompleteness of trace-baced network proof systems, in: Proc. 14th ACM Symp. on Principles of Progr. Languages, München, 1987, 27–38.Google Scholar
  37. [Zw 89]
    J. Zwiers, Compositionality, Concurrency and Partial correctness, Lecture Notes in Comput. Sci. 321 (Springer-Verlag, 1989).Google Scholar
  38. [ZRE 85]
    J. Zwiers, W.P. de Roever, P. van Emde-Boas, Compositionality and concurrent networks, in: W. Brauer (Ed.), Proc. 12th Coll. Automata, Languages and Programming, Lecture Notes in Comput. Sci. 194 (Springer-Verlag, 1985) 509–519.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Ernst-Rüdiger Olderog
    • 1
    • 2
    • 3
  1. 1.Centrum voor Wiskunde en InformaticaAmsterdam
  2. 2.Vakgroep ProgrammatuurUniversiteit van AmsterdamThe Netherlands
  3. 3.Institut für Informatik und Praktische InformatikUniversität KielGermany

Personalised recommendations