Partial order based design of concurrent systems

  • Job Zwiers
  • Wil Janssen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 803)


A partial order based graph model for concurrency is introduced, using hierarchical structured graphs with relations denoting concurrency, causal ordering, and temporal ordering. Both compositionally structured processes as well as partial order based structures describing the semantics of processes can be expressed in this unified framework. Thus we obtain a powerful calculus that allows to algebraically transform processes or to prove properties of them.

Apart from algebraic properties we also study state based properties of the process language, by means of assertional techniques. We use the combination of the two to derive, in a number of transformation and refinement steps, a distributed minimum weight spanning tree algorithm, in the style of Gallagher, Humblet, and Spira.


atomicity partial order models hierarchical graphs communication closed layers program transformation program verification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AO91]
    K.R. Apt and E.-R. Olderog. Verification of sequential and concurrent programs. Springer-Verlag, 1991.Google Scholar
  2. [BHG87]
    P.A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.Google Scholar
  3. [Bor26]
    O. Boruvka. O jistém problému minimálním (in czech). Práca Moravské Přírodovědecké Společnosti, 3, 1926.Google Scholar
  4. [BS91]
    R.J.R. Back and K. Sere. Stepwise refinement of action systems. Structured Programming, 12:17–30, 1991.Google Scholar
  5. [CG88]
    C. Chou and E. Gafni. Understanding and verifying distributed algorithms using stratified decomposition. In Proc. 7th ACM Symposium on Principles of Distributed Computing. ACM, 1988.Google Scholar
  6. [CM88]
    K.M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  7. [dR85]
    W.P. de Roever. The quest for compositionality — a survey of assertion-based proof systems for concurrent programs, Part I: concurrency based on shared variables. In Proceedings of the IFIP Working Conference 1985: The role of abstract models in computer science, pages 181–207. North-Holland, 1985.Google Scholar
  8. [EF82]
    Elrad and N. Francez. Decomposition of distributed programs into communication closed layers. Science of Computer Programming, 2, 1982.Google Scholar
  9. [FPZ93]
    M. Fokkinga, M. Poel, and J. Zwiers. Modular completeness for communication closed layers. In Eike Best, editor, Proceedings CONCUR '93, Lecture Notes in Computer Science 715, pages 50–65. Springer-Verlag, 1993.Google Scholar
  10. [GHS83]
    R.T. Gallager, P.A. Humblet, and P.M. Spira. A distributed algorithm for minimumweight spanning trees. ACM TOPLAS, 5(1):66–77, Jan 1983.Google Scholar
  11. [Gis84]
    J. L. Gischer. Partial Orders and the Axiomatic Theory of Shuffle. PhD thesis, Stanford University, 1984.Google Scholar
  12. [GS86]
    R. Gerth and L. Shira. On proving communication closedness of distributed layers. In Proc. 6th Conference on Foundations of Software Technology and Theoretical Computer Science, 1986.Google Scholar
  13. [Har86]
    David Harel. Statecharts, a visual approach to complex systems. Technical Report CS86-02, Weizmann Institute of Science, March 1986.Google Scholar
  14. [HdR86]
    J. Hooman and W.P. de Roever. The quest goes on: a survey of proof systems for partial correctness of CSP. In Current Trends in Concurrency, pages 343–395. LNCS 224, Springer-Verlag, 1986.Google Scholar
  15. [Hoa72]
    C.A.R. Hoare. Proofs of correctness of data representations. Acta Informatica, 1:271–281, 1972.Google Scholar
  16. [Jon90]
    C.B. Jones. Systematic Software Development using VDM. Prentice-Hall, second edition, 1990.Google Scholar
  17. [JPZ91]
    W. Janssen, M. Poel, and J. Zwiers. Action systems and action refinement in the development of parallel systems. In Proc. of CONCUR '91, pages 298–316. Springer-Verlag, LNCS 527, 1991.Google Scholar
  18. [JZ92a]
    W. Janssen and J. Zwiers. From sequential layers to distributed processes, deriving a distributed minimum weight spanning tree algorithm, (extended abstract). In Proc. 11th ACM Symposium on Principles of Distributed Computing, pages 215–227. ACM, 1992.Google Scholar
  19. [JZ92b]
    W. Janssezn and J. Zwiers. Protocol design by layered decomposition, a compositional approach. In J.Vytopil, editor,Proc.Formal Techniques in Real-Time and Fault-Tolerant Systems, pages 307–326. Springer-Verlag, LNCS 571, 1992.Google Scholar
  20. [JZ93a]
    W. Janssen and J. Zwiers. Specifying and proving communication closedness in protocols. Technical Report 93-23, University of Twente, 1993.Google Scholar
  21. [JZ93b]
    W. Janssen and J. Zwiers. Specifying and proving communication closedness in protocols. In A. Dantine, G. Leduc, and P. Wolper, editors, Proceedings 13th IFIP symp. on Protocol Specification, Testing and Verification, pages 323–339. Elsevier Science Publishers, 1993.Google Scholar
  22. [KP92]
    S. Katz and D. Peled. Verification of distributed programs using representative interleaving sequences. Distributed Computing, 6(2), 1992.Google Scholar
  23. [LMWF94]
    N. Lynch, M. Merritt, W. Weihl, and A. Fekete. Atomic Transactions. Morgan Kaufman Publishers, 1994.Google Scholar
  24. [Loy92]
    L.D. Loyens. A design method for parallel programs. PhD thesis, Eindhoven University of Technology, 1992.Google Scholar
  25. [Maz89]
    A. Mazurkiewicz. Basic notions of trace theory. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Proc. of the REX workshop on Linear Time, Branching Time and Partial order in Logics and Models for Concurrency, Noordwijkerhout 1988, Springer LNCS 354, pages 285–363, 1989.Google Scholar
  26. [Mil80]
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, 1980.Google Scholar
  27. [Mor90]
    Carroll Morgan. Programming from Specifications. Prentice-Hall, 1990.Google Scholar
  28. [Pen93]
    Wojciech Penczek. Axiomatizations of temporal logics on trace systems. In P. Enjalbert, A. Finkel, and K. Wagner, editors, LNCS 665, Proc. of STACS, pages 452–462. Springer-Verlag, 1993.Google Scholar
  29. [Pra86]
    V. Pratt. Modelling concurrency with partial orders. International Journal of Parallel Programming, 1(15):33–71, 1986.Google Scholar
  30. [PZ92]
    M. Poel and J. Zwiers. Layering techniques for development of parallel systems. In Proc. CAV, 1992.Google Scholar
  31. [SdR87]
    F.A. Stomp and W.-P. de Roever. A correctness proof of a distributed minimum-weight spanning tree algorithm (extended abstract). In Proc. of the 7th ICDCS, 1987.Google Scholar
  32. [SdR89]
    F.A. Stomp and W.P. de Roever. Designing distributed algorithms by means of formal sequentially phased reasoning. In J.-C. Bermond and M. Raynal, editors, Proc. of the 3rd International Workshop on Distributed Algorithms, Nice, LNCS 392, pages 242–253. Springer-Verlag, 1989.Google Scholar
  33. [Ser90]
    K. Sere. Stepwise Derivation of Parallel Algorithms. PhD thesis, Åbo Akademi, 1990.Google Scholar
  34. [Sto89]
    F.A. Stomp. Design and Verification of Distributed Network Algorithms: Foundations and Applications. PhD thesis, Eindhoven University, 1989.Google Scholar
  35. [Tan88]
    A. S. Tanenbaum. Computer Networks. Prentice-Hall, second edition, 1988.Google Scholar
  36. [Tar83]
    R.E. Tarjan. Data Structures and Network Algorithms. Society for Industrial and Apllied Mathematics, 1983.Google Scholar
  37. [WLL88]
    J. Welch, L. Lamport, and N. Lynch. A lattice-structured proof technique applied to a minimum weight spanning tree algorithm. In Proc. of the 7th Annual Symp. on Principles of Distributed Computing. ACM, 1988.Google Scholar
  38. [ZdRvEB85]
    J. Zwiers, W.-P. de Roever, and P. van Emde Boas. Compositionality and concurrent networks: Soundness and completeness of a proof system. In Proc. of ICALP '85, Springer LNCS 194, pages 509–519. Springer-Verlag, 1985.Google Scholar
  39. [Zwi89]
    J. Zwiers. Compositionality, Concurrency and Partial Correctness. Springer LNCS 321, 1989.Google Scholar
  40. [Zwi91]
    J. Zwiers. Layering and action refinement for timed systems. In Proc. of the REX Workshop on Real Time: Theory and Practice, Mook, the Netherlands, June 3–7 1991. Springer-Verlag.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Job Zwiers
    • 1
  • Wil Janssen
    • 1
  1. 1.Dep. of Computer ScienceUniversity of TwenteAE EnschedeThe Netherlands

Personalised recommendations