A case study in formally developing state-based parallel programs—the Dutch National Torus

  • Qiwen Xu
  • Jifeng He
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


Recently, formal methods, both assertional (compositional) and algebraic, for developing state-based parallel programs have been studied. This paper presents one of the few not-that-trivial case studies in this area, based on the combined use of both (though mainly assertional) methods. The case study is conducted in a top-down fashion, and we demonstrate that verification can be naturally conducted at the same time as, and combined with, the design of the system.


Auxiliary Variable Parallel Composition Sequential Programming Program Variable Proof Obligation 
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.


  1. [Ap84]
    K.R. Apt. Ten years of Hoare’s logic: a survey-part II: nondeterminism. Theoretical Computer Science 28 83–109 1984.MathSciNetMATHCrossRefGoogle Scholar
  2. [AP86]
    K.R. Apt and G.D. Plotkin. countable nondeterminism and random assignment. Journal of the ACM 33 4 724–767 1986.MathSciNetMATHCrossRefGoogle Scholar
  3. [Ba90]
    J.C.M. Baeten. Process Algebra. Cambridge Univ Press, 1990.Google Scholar
  4. [Di77]
    E. W. Dijkstra. An exercise inspired by the Dutch National Flag. EWD-608, Burroughs, Nuenen, the Netherlands 1977.Google Scholar
  5. [dR85]
    W.P. de Roever. The quest for compositionality. in Proc:IFIP Working Conf. The Role of Abstract Models in Computer ScienceNorthHolland, 1985.Google Scholar
  6. [HHS87]
    C.A.R. Hoare, He, Jifeng and J.W. Sanders. Prespecification in Data Refinement. IPL, 25 71–76 1987.Google Scholar
  7. [Ho85]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall, London. 1985.MATHGoogle Scholar
  8. [Hoare et al 87]
    C.A.R. Hoare et al. Laws of programming. Commun. ACM 30, 8 672–686 1987.MathSciNetMATHCrossRefGoogle Scholar
  9. [GdeRR82]
    R. T. Gerth, W.P. de Roever and M. Roncken. A study in distributed systems and Dutch patriotism. In M. Joseph (editor) Proc. of the 2nd conf. on Foundations of Software Technology and Theoretical Computer Science. Bangalore, India 1982.Google Scholar
  10. [Jo81]
    C.B. Jones. Development methods for computer programs including a notion of interference. Dphil. Thesis, Oxford University Computing Laboratory, 1981.Google Scholar
  11. [Jo91]
    C.B. Jones. Interference resumed. in P. Bailes, editor, AustralianSoftware Engineering Research 1991.Google Scholar
  12. [LS89]
    L. Lamport and F.B. Schneider. Pretending atomicity. Research report 29, Digital System Research Center 1989.Google Scholar
  13. [Mi89]
    R. Milner. Communication and Concurrency. Prentice-Hall International Series in Computer Science, 1989.Google Scholar
  14. [0G76]
    S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Inform. 6 319–340 Springer-Verlag 1976.Google Scholar
  15. [St90]
    K. Stolen. Development of Parallel Programs on Shared Data-structures. Ph.D Thesis, Computer Science Department, Manchester University, 1990.Google Scholar
  16. [St91]
    K. Stolen. An attempt to reason about shared-state concurrency in the style of VDM. in S. Prehn and W. J. Toetenel, editors, Proceedings of VDM 91, LNCS 551, Springer-Verlag, 1991.Google Scholar
  17. [XH91]
    Xu Qiwen and He Jifeng. A theory of state-based parallel programming: Part 1. in J. Morris, editor, Proceedings of BCS FACS 4th Refinement Workshop January 1991, Cambridge, Springer-Verlag.Google Scholar
  18. [XH92]
    Xu Qiwen and He Jifeng. Laws of parallel programming. Manuscript, 1992.Google Scholar

Copyright information

© Springer-Verlag London 1992

Authors and Affiliations

  • Qiwen Xu
    • 1
  • Jifeng He
    • 2
  1. 1.Institut für Informatik und Praktische Mathematik IIUniversität KielKiel 1Germany
  2. 2.Programming Research GroupOxford University Computing LaboratoryOxfordEngland, UK

Personalised recommendations