Formal Aspects of Computing

, Volume 7, Issue 1, pp 37–53 | Cite as

Action systems, unbounded nondeterminism, and infinite traces

  • Michael Butler
  • Carroll Morgan


Morgan [Mor90a] has described a correspondence between Back's action systems [BKS83] and the conventionalfailures-divergences model of Hoare'scommunicating sequential processes (CSP) formalism [Hoa85]. However, the CSP failures-divergences model does not treat unbounded nondeterminism, although unbounded nondeterminism arises quite naturally in action systems; to that extent, the correspondence between the two approaches is inadequate.

Fortunately there is an extendedinfinite traces model of CSP [RoB89] which treats unbounded nondeterminism. We extend the CSP-action system correspondence, using that model instead, to take the unbounded nondeterminism of action systems properly into account.

In passing, we develop a definition of the weakest precondition under which an infinite heterogeneous trace of actions is enabled.


Distributed computing Behaviour models Programming calculi Infinite traces Unbounded nondeterminism 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bac80]
    Back, R.J.R.:Correctness Preserving Program Refinements: Proof Theory and Applications. Tract 131, Mathematisch Centrum, Amsterdam, 1980.Google Scholar
  2. [Bac89]
    Back, R.J.R.: Refining atomicity in parallel algorithms. InPARLE'89, volume LNCS 366. Springer-Verlag, 1989.Google Scholar
  3. [Bac90]
    Back, R.J.R.: Refinement calculus II: Parallel and reactive systems. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors,Stepwise Refinement of Distributed Systems, volume LNCS 430. Springer-Verlag, 1990.Google Scholar
  4. [Bac92]
    Back, R.J.R.: Refinement calculus, lattices and higher order logic. InMarktoberdorf International Summer School — Program Design Calculi, July 1992.Google Scholar
  5. [BKS83]
    Back, R.J.R. and Kurki-Suonio, R.: Decentralisation of process nets with centralised control. In2nd ACM SIGACT-SIGOPS Symp. on Principles of Distributed Computing, pages 131–142, 1983.Google Scholar
  6. [BaS90]
    Back, R.J.R. and Sere, K.: Deriving an occam implementation of action systems. In C.C. Morgan and J.C.P. Woodcock, editors,3rd BCS-FACS Refinement Workshop. Springer-Verlag, 1990.Google Scholar
  7. [But92]
    Butler, M.J.:A CSP Approach To Action Systems. D.Phil. Thesis, Programming Research Group, Oxford University, 1992.Google Scholar
  8. [Dij76]
    Dijkstra, E.W.:A Discipline of Programming. Prentice-Hall, 1976.Google Scholar
  9. [He89]
    He, J.: Process refinement. In J. McDermid, editor,The Theory and Practice of Refinement. Butterworths, 1989.Google Scholar
  10. [Hoa85]
    Hoare, C.A.R.:Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  11. [HiP72]
    Hitchcock, P. and Park, D.: Induction rules and termination proofs. InIRIA Conference on Automata Languages and Programming Theory, France, 1972.Google Scholar
  12. [JoG88]
    Jones, G. and Goldsmith, M.:Programming in occam 2. Prentice-Hall, 1988.Google Scholar
  13. [Jos88]
    Josephs, M.B.: A state-based approach to communicating sequential processes.Distributed Computing, 3:9–18, 1988.Google Scholar
  14. [Mor79]
    Morgan, C.C.:Parallel Programming Without Synchronisation. Ph.D. Thesis, University of Sydney, 1979.Google Scholar
  15. [Mor88]
    Morgan, C.C.: The specification statement.ACM Trans. Prog. Lang. and Sys., 10(3), 1988. Reprinted in [MRG88].Google Scholar
  16. [Mor90a]
    Morgan, C.C.: Of wp and CSP. In W.H.J. Feijen, A.J.M. van Gasteren, D. Gries, and J. Misra, editors,Beauty is our business: a birthday salute to Edsger W. Dijkstra. Springer-Verlag, 1990.Google Scholar
  17. [Mor90b]
    Morgan, C.C.:Programming from Specifications. Prentice-Hall, 1990.Google Scholar
  18. [MRG88]
    Morgan, C.C., Robinson, K.A. and Gardiner, P.H.B.:On the Refinement Calculus. Technical Monograph PRG-70, Programming Research Group, Oxford University, October 1988.Google Scholar
  19. [Mor87]
    Morris, J.M.: A theoretical basis for stepwise refinement and the programming calculus.Sci. Comp. Prog., 9(3):298–306, 1987.Google Scholar
  20. [Nel89]
    Nelson, G.: A generalization of Dijkstra's calculus.ACM Trans. Prog. Lang. Sys., 11(4):517–561, 1989.Google Scholar
  21. [RoB89]
    Roscoe, A.W. and Barrett, G.:Unbounded Nondeterminism in CSP. InMFPS '89, volume LNCS 298. Springer-Verlag, 1989.Google Scholar
  22. [Ros93]
    Roscoe, A.W.:Unbounded Nondeterminism in CSP.J. Logic Computat., 3(2): 131–172, 1993.Google Scholar
  23. [Tar55]
    Tarski, A.: A lattice-theoretic fixpoint theorem and its applications.Pacific Journal Math., 5, 1955.Google Scholar
  24. [WoM90]
    Woodcock, J.C.P. and Morgan, C.C.: Refinement of state-based concurrent systems. In D. Bjørner, C.A.R. Hoare, and H. Langmaack, editors,VDM '90, volume LNCS 428. Springer-Verlag, 1990.Google Scholar

Copyright information

© BCS 1995

Authors and Affiliations

  • Michael Butler
    • 1
  • Carroll Morgan
    • 1
  1. 1.Oxford University Programming Research GroupOxfordUK

Personalised recommendations