Reasoning about interference in an object-based design method

  • C. B. Jones
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 670)


The property of a (formal) development method which gives the development process the potential for productivity is compositionality, compositional development methods for concurrent systems are elusive because of interference. A companion paper shows how object-based concepts can be used to provide a designer with control over interference and proposes a transformational style of development in which concurrency is introduced only in the final stages of design. That approach relies on restrictions to the object graphs which can arise and works for systems which involve limited interference. The current paper discusses the problems of interference and shows how a suitable logic can be used to reason — during design — about those systems where interference plays an essential role. Here again, concepts are used in the design notation which are taken from object-oriented languages since they offer control of granularity and ways of pinpointing interference. A further paper is in preparation which discusses the semantics of the object-based design notation.


Temporal Logic Concurrent Program Proof Obligation Concurrent System Object Graph 
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. [AdB90]
    P. America and F. de Boer. A proof system for process creation. In [BJ90], pages 303–332, 1990.Google Scholar
  2. [Ame86]
    Pierre America. A proof theory for a sequential version of POOL. Technical Report 0188, Philips Research Laboratories, Philips Research Laboratories, Nederlandse Philips Bedrijven, B.V., September 1986.Google Scholar
  3. [AR89]
    Pierre America and Jan Rutten. A Parallel Object-Oriented Language: Design and Semantic Foundations. PhD thesis, Free University of Amsterdam, 1989.Google Scholar
  4. [BG91]
    J. C. M. Baeten and J. F. Groote, editors. CONCUR'91 — Proceedings of the 2nd International Conference on Concurrency Theory, volume 527 of Lecture Notes in Computer Science. Springer-Verlag, 1991.Google Scholar
  5. [BJ90]
    M. Broy and C. B. Jones, editors. Programming Concepts and Methods. North-Holland, 1990.Google Scholar
  6. [BJM88]
    R. Bloomfield, R. B. Jones, and L. S. Marshall, editors. VDM'88: VDM — The Way Ahead, volume 328 of Lecture Notes in Computer Science. Springer-Verlag, 1988.Google Scholar
  7. [BK84]
    H. Barringer and R. Kuiper. Hierachical development of concurrent systems in a temporal logic framework. In Proceedings of NSF/SERC Seminar on Concurrency, CMU, Pittsburgh, 1984.Google Scholar
  8. [BKP84]
    H. Barringer, R. Kuiper, and A. Pnueli. Now you can compose temporal logic specification. In Proceedings of 16th ACM STOC, Washington, May 1984.Google Scholar
  9. [BM88]
    J. Bruijning and C.A. Middelburg. Esprit project 1283: VIP VDM extensions: Final report. Technical Report 2.0, PTT Research, Neher Laboratories, The Netherlands, 1988.Google Scholar
  10. [Bro89]
    Manfred Broy. On bounded buffers: Modularity, robustness, and reliability in reactive systems. Technical Report MIP-8920, Universitat Passau, Fakultat fur mathematik und Informatik, June 1989.Google Scholar
  11. [CJ91]
    J. H. Cheng and C. B. Jones. On the usability of logics which handle partial functions. In C. Morgan and J. C. P. Woodcock, editors, 3rd Refinement Workshop, pages 51–69. Springer-Verlag, 1991.Google Scholar
  12. [CM88]
    K. M. Chandy and J. Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.Google Scholar
  13. [Col92]
    Pierre Collette. Semantic rules to compose rely-guarantee specifications. Technical Report RR 92–25, Universit'e de Louvain, 1992.Google Scholar
  14. [Col93]
    Pierre Collette. Application of the composition principle to unity-like specifications. In TAPSOFT'93, Lecture Notes in Computer Science. Springer-Verlag, 1993.Google Scholar
  15. [Ded89]
    Frank Dederichs. Zur strukturierung von spezifikationen verteilter systeme, March 1989.Google Scholar
  16. [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 E. J. Neuhold and G. Chroust, editors, Formal Models in Programming. North-Holland, 1985.Google Scholar
  17. [FP78]
    N. Francez and A. Pnueli. A proof method for cyclic programs. Acta Informatica, 9:133–157, 1978.CrossRefGoogle Scholar
  18. [GH93]
    J. V. Guttag and J. J. Horning. Larch: Languages and Tools for Formal Specification. Springer-Verlag, 1993.Google Scholar
  19. [GHW85]
    J. V. Guttag, J. J. Horning, and J. M. Wing. Larch in five easy pieces. Technical Report 5, DEC, SRC, July 1985.Google Scholar
  20. [GR89]
    David Grosvenor and Andy Robinson. An evaluation of rely-guarantee, March 1989. Submitted to Formal Aspects of Computer Science.Google Scholar
  21. [HdR86]
    J. Hooman and W. P. de Roever. The quest goes on: a survey of proof systems for partial correctness of CSP. In J.W. de Bakker, W. P. de Roever, and G. Rozenberg, editors, Current Trends in Concurrency, pages 343–395. Springer-Verlag, 1986. LNCS 224.Google Scholar
  22. [Hoa74]
    C. A. R. Hoare. Monitors: An operating system structuring concept. Communications of the ACM, 17(10):549–557, October 1974.CrossRefGoogle Scholar
  23. [Jon81]
    C. B. Jones. Development Methods for Computer Programs including a Notion of Interference. PhD thesis, Oxford University, June 1981. Printed as: Programming Research Group Technical Monograph 25.Google Scholar
  24. [Jon83a]
    C. B. Jones. Specification and design of (parallel) programs. In Proceedings of IFIP'83, pages 321–332. North-Holland, 1983.Google Scholar
  25. [Jon83b]
    C. B. Jones. Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems, 5(4):596–619, 1983.CrossRefGoogle Scholar
  26. [Jon90]
    C. B. Jones. Systematic Software Development using VDM. Prentice Hall International, second edition, 1990.Google Scholar
  27. [Jon91a]
    C. B. Jones. Interference resumed. In P. Bailes, editor, Engineering Safe Software, pages 31–56. Australian Computer Society, 1991.Google Scholar
  28. [Jon91b]
    C. B. Jones. Interference revisited. In J. E. Nicholls, editor, Z User Workshop, pages 58–73. Springer-Verlag, 1991.Google Scholar
  29. [Jon92]
    C. B. Jones. An object-based design method for concurrent programs. Technical Report UMCS-92-12-1, Manchester University, 1992.Google Scholar
  30. [Jon93a]
    C. B. Jones. Constraining interference in an object-based design method. In TAPSOFT'93, Lecture Notes in Computer Science. Springer-Verlag, 1993.Google Scholar
  31. [Jon93b]
    C. B. Jones. Giving semantics to an object-based design notation. In CONCUR'93, Lecture Notes in Computer Science. Springer-Verlag, 1993.Google Scholar
  32. [Lam91]
    L. Lamport. The temporal logic of actions. Technical Report 79, Digital, SRC, 1991.Google Scholar
  33. [Mid90]
    C. A. Middelburg. Syntax and Semantics of VVSL A Language for Structured VDM Specifications. PhD thesis, PTT Research, Department of Applied Computer Science, September 1990.Google Scholar
  34. [MPW92]
    R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–77, 1992.CrossRefGoogle Scholar
  35. [OG76]
    S. S. Owicki and D. Gries. An axiomatic proof technique for parallel programs I. Acta Informatica, 6:319–340, 1976.CrossRefGoogle Scholar
  36. [Owi75]
    S. Owicki. Axiomatic Proof Techniques for Parallel Programs. PhD thesis, Department of Computer Science, Cornell University, 1975. 75–251.Google Scholar
  37. [PT91]
    S. Prehn and W. J. Toetenel, editors. VDM'91 — Formal Software Development Methods. Proceedings of the 4th International Symposium of VDM Europe, Noordwijkerhout, The Netherlands, October 1991. Vol.1: Conference Contributions, volume 551 of Lecture Notes in Computer Science. Springer-Verlag, 1991.Google Scholar
  38. [Sta85]
    Eugene W Stark. A proof technique for rely/guarantee properties, August 1985.Google Scholar
  39. [Sta88]
    Eugene W. Stark. Proving entailment between conceptual state specifications. Theoretical Computer Science, 56:135–154, 1988.CrossRefGoogle Scholar
  40. [Sti86]
    C. Stirling. A compositional reformulation of Owicki-Gries' partial correctness logic for a concurrent while language. In ICALP'86. Springer-Verlag, 1986. LNCS 226.Google Scholar
  41. [Sti88]
    C. Stirling. A generalisation of Owicki-Gries's Hoare logic for a concurrent while language. TCS, 58:347–359, 1988.CrossRefGoogle Scholar
  42. [Stø90]
    K. Stølen. Development of Parallel Programs on Shared Data-Structures. PhD thesis, Manchester University, 1990. available as UMCS-91-1-1.Google Scholar
  43. [Stø91a]
    K. Stølen. A Method for the Development of Totally Correct Shared-State Parallel Programs. In [BG91], pages 510–525, 1991.Google Scholar
  44. [Stø91b]
    K. Stølen. An Attempt to Reason About Shared-State Concurrency in the Style of VDM. In [PT91], pages 324–342, 1991.Google Scholar
  45. [SW91]
    J. Sa and B. C. Warboys. Specifying concurrent object-based systems using combined specification notations. Technical Report UMCS-91-7-2, Manchester University, 1991.Google Scholar
  46. [WD88]
    J. C. P. Woodcock and B. Dickinson. Using VDM with rely and guarantee-conditions: Experiences of a real project. In [BJM88], pages 434–458, 1988.Google Scholar
  47. [XH91]
    Qiwen Xu and Jifeng He. A theory of state-based parallel programming by refinement: Part I. In J. Morris, editor, Proceedings of The Fourth BCS-FACS Refinement Workshop. Springer-Verlag, 1991.Google Scholar
  48. [Xu92]
    Qiwen Xu. A Theory of State-based Parallel Programming. PhD thesis, Oxford University, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • C. B. Jones
    • 1
  1. 1.Department of Computer ScienceManchester UniversityUK

Personalised recommendations