From trace specifications to process terms

  • Ernst-Rüdiger Olderog
Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 430)


We present an approach to the top-down construction of process terms from trace specifications. Process terms are built from operators of CCS, CSP and COSY, and denote labelled Petri nets. Trace specifications are first order formulas of Zwiers' trace logic and denote sets of finite communication sequences. The link between process terms and trace specifications is given by a new notion of process correctness which deals with both safety and liveness properties. The top-down construction proceeds by an application of compositional transformation rules which refine the given trace specification stepwise into a process term satisfying the safety and liveness requirements of the specification.

Key words

Concurrent processes communication CCS CSP COSY Petri nets specification many-sorted first order logic trace logic process correctness safety liveness externally deterministic modified readiness semantics top-down construction transformations mixed terms Milner's scheduling problem 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8. References

  1. [AS 85]
    B. Alpern, F.B. Schneider, Defining liveness, Inform. Proc. Letters 21 (1985) 181–185.MathSciNetGoogle Scholar
  2. [Ba 80]
    J.W. de Bakker, Mathematical Theory of Program Correctness (Prentice-Hall, London, 1989).Google Scholar
  3. [Bau 85]
    F.L. Bauer et al., The Munich Project CIP, Vol. I: The Wide Spectrum Language CIP-L, Lecture Notes in Comput. Sci. 183 (Springer-Verlag, 1985).Google Scholar
  4. [Bau 87]
    F.L. Bauer et al., The Munich Project CIP, Vol. II: The Program Transformation System CIP-S, Lecture Notes in Comput. Sci. 292 (Springer-Verlag, 1987).Google Scholar
  5. [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
  6. [BHR 84]
    S.D. Brookes, C.A.R. Hoare, A.W. Roscoe, A theory of communicating sequential processes, J. ACM 31 (1984) 560–599.CrossRefGoogle Scholar
  7. [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
  8. [DH 84]
    R. DeNicola, M. Hennessy, Testing equivalences for processes, Theoret. Comput. Sci. 34 (1984) 83–134.CrossRefGoogle Scholar
  9. [Di 76]
    E.W. Dijkstra, A Discipline of Programming (Prentice-Hall, Englewood Cliffs, NJ, 1976).Google Scholar
  10. [FLP 84]
    N. Francez, D. Lehmann, A. Pnueli, A linear history semantics for languages for distributed programming, Theoret. Comput. Sci. 32 (1984) 25–46.Google Scholar
  11. [Go 88]
    U. Goltz, Über die Darstellung von CCS-Programmen durch Petrinetze, Doctoral Diss., RWTH Aachen, 1988.Google Scholar
  12. [Ho 78]
    C.A.R. Hoare, Some properties of predicate transformers, J. ACM 25 (1978) 461–480.Google Scholar
  13. [Ho 81]
    C.A.R. Hoare, A calculus of total correctness for communicating processes, Sci. Comput. Progr. 1 (1981) 44–72.Google Scholar
  14. [Ho 85]
    C.A.R. Hoare, Communicating Sequential Processes (Prentice-Hall, London, 1985).Google Scholar
  15. [Jo 87]
    B. Jonsson, Compositional Verification of Distributed Systems, Ph.D. Thesis, Dept. Comput. Sci., Uppsala Univ., 1987.Google Scholar
  16. [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
  17. [Mi 80]
    R. Milner, A Calculus of Communicating Systems, Lecture Notes in Comput. Sci. 92 (Springer-Verlag, 1980).Google Scholar
  18. [Mz 77]
    A. Mazurkiewicz, Concurrent program schemes and their interpretations, Tech. Report DAIMI PB-78, Aarhus Univ., 1977.Google Scholar
  19. [Mi 89]
    R. Milner, Communication and Concurrency (Prentice-Hall, London, 1989).Google Scholar
  20. [MC 81]
    J. Misra, K.M. Chandy, Proofs of networks of processes, IEEE Trans. Software Eng. 7 (1981) 417–426.Google Scholar
  21. [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
  22. [Ol 89a]
    E.-R. Olderog, Strong bisimilarity on nets: a new concept for comparing net semantics, in: J.W. de Bakker, W.P. de Roever, G. Rozenberg (Eds.), Linear Time, Branching Time and Partial Order in Logics and Models of Concurrency, Lectures Notes in Comput. Sci. 354 (Springer-Verlag, 1989) 549–573.Google Scholar
  23. [Ol 89b]
    E.-R. Olderog, Correctness of concurrent processes, invited paper, in: A. Kreczmar, G. Mirkowska (Eds.), Math. Found. of Comput. Sci. 1989, Lecture Notes in Comput. Sci. 379 (Springer-Verlag, 1989) 107–132.Google Scholar
  24. [OH 86]
    E.-R. Olderog, C.A.R. Hoare, Specification-oriented semantics for communicating processes, Acta Inform. 23 (1986) 9–66.Google Scholar
  25. [OL 82]
    S. Owicki, L. Lamport, Proving liveness properties of concurrent programs, ACM TOPLAS 4 (1982) 199–223.Google Scholar
  26. [Re 85]
    W. Reisig, Petri Nets, An Introduction, EATCS Monographs on Theoret. Comput. Sci. (Springer-Verlag, 1985).Google Scholar
  27. [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. I, Lecture Notes in Comput. Sci. 258, (Springer-Verlag, 1987) 14–33.Google Scholar
  28. [Sc 70]
    D.S. Scott, Outline of a mathematical theory of computation, Tech. Monograph PRG-2, Progr. Research Group, Oxford Univ., 1970.Google Scholar
  29. [St 77]
    J.E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory (MIT Press, Cambridge, Mass., 1977).Google Scholar
  30. [Sn 85]
    J.L.A. van de Snepscheut, Trace Theory and VLSI Design, Lecture Notes in Comput. Sci. 200 (Springer-Verlag, 1985).Google Scholar
  31. [WGS 87]
    J. Widom, D. Gries, F.B. Schneider, Completeness and incompleteness of trace-based network proof systems, in: Proc. 14th ACM Symp. on Principles of Progr. Languages, München, 1987, 27–38.Google Scholar
  32. [Wi 71]
    N. Wirth, Program development by stepwise refinement, Comm. ACM 14 (1971) 221–227.CrossRefGoogle Scholar
  33. [Zw 89]
    J. Zwiers, Compositionality, Concurrency and Partial Correctness, Lecture Notes in Comput. Sci. 321 (Springer-Verlag, 1989).Google Scholar
  34. [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 1990

Authors and Affiliations

  • Ernst-Rüdiger Olderog
    • 1
    • 2
  1. 1.FB 10 - InformatikUniversität OldenburgOldenburgFed. Rep. Germany
  2. 2.Vakgroep ProgrammatuurUniversiteit van AmsterdamAmsterdamThe Netherlands

Personalised recommendations