Skip to main content

Thinking Tools for the Future of Computing Science

  • Chapter
  • First Online:
Book cover Informatics

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2000))

Abstract

This paper argues that “formal methods” can (continue to) provide the thinking tools for the future of computing science. Every significant engineering or scientific discipline has advanced only with systematic and formally based notations. To see just how ubiquitous the need for notation is, one can look beyond the sciences and observe the importance of written notation in the development of music. Map making is another area where the importance of notation and the understanding of the need for (levels of) abstraction is recognised. Formal methods provide notations to navigate the future of computing science.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Biccaregui, Matthew Bishop, Theo Dimitakos, Kevin Lano, Brian Matthews, and Brian Ritchie. Supporting co-use of VDM and B by translation. In J. S. Fitzgerald, editor, VDM in 2000, 2000.

    Google Scholar 

  2. 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 

  3. Pierre Collette and Cliff B. Jones. Enhancing the tractability of rely/guarantee specifications in the development of interfering operations. In Gordon Plotkin, Colin Stirling, and Mads Tofte, editors, Proof, Language and Interaction, chapter 10, pages 275–305. MIT Press, 2000.

    Google Scholar 

  4. Pierre Collette. Design of Compositional Proof Systems Based on Assumption-Commitment Specifications-Application to UNITY. PhD thesis, Louvain-la-Neuve, June 1994.

    Google Scholar 

  5. E. W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  6. Jürgen Dingel. Systematic Parallel Programming. PhD thesis, Carnegie Mellon University, 2000. CMU-CS-99-172.

    Google Scholar 

  7. W. P. de Roever and K. Engelhardt. Data Refinement: Model-Oriented Proof Methods and Their Comparison. Cambridge University Press, 1999.

    Google Scholar 

  8. Edsger W Dijkstra and Carel S Scholten. Predicate Calculus and Program Semantics. Springer-Verlag, 1990. ISBN 0-387-96957-8, 3-540-96957-8.

    Google Scholar 

  9. R.W. Floyd. Assigning meanings to programs. In Proc. Symp. in Applied Mathematics, Vol.19: Mathematical Aspects of Computer Science, pages 19–32. American Mathematical Society, 1967.

    Google Scholar 

  10. J. R. Gurd and C. B. Jones. The global-yet-personal information system. In Ian Wand and Robin Milner, editors, Computing Tomorrow, pages 127–157. Cambridge University Press, 1996.

    Google Scholar 

  11. R. L. Grossman, A. Nerode, A. P. Ravn, and H. Rischel, editors. Hybrid Systems VIII, volume 736 of Lecture Notes in Computer Science. Springer-Verlag, 1993.

    Google Scholar 

  12. C. A. R. Hoare and C. B. Jones. Essays in Computing Science. Prentice Hall International, 1989.

    Google Scholar 

  13. C. A. R. Hoare. An axiomatic basis for computer programming. Communications of the ACM, 12(10):576–580, 583, October 1969.

    Article  MATH  Google Scholar 

  14. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  15. Michael Jackson. System Design. Prentice-Hall International, 1983.

    Google Scholar 

  16. Michael Jackson. Problem Frames: Structring and Analysing Software Development Problems. Addison-Wesley, 2000.

    Google Scholar 

  17. 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 

  18. C. B. Jones. The search for tractable ways of reasoning about programs. Technical Report UMCS-92-4-4, Manchester University, 1992.

    Google Scholar 

  19. C. B. Jones. Process algebra arguments about an object-based design notation. In A. W. Roscoe, editor, A Classical Mind, chapter 14, pages 231–246. Prentice-Hall, 1994.

    Google Scholar 

  20. C. B. Jones. Accommodating interference in the formal design of concurrent object-based programs. Formal Methods in System Design,8(2):105–122, March 1996.

    Article  Google Scholar 

  21. C. B. Jones. A rigorous approach to formal methods. IEEE, Computer, 29(4):20–21, 1996.

    Google Scholar 

  22. C. B. Jones. Scientific decisions which characterize VDM. In FM’99 — Formal Methods, volume 1708 of Lecture Notes in Computer Science, pages 28–47. Springer-Verlag, 1999.

    Chapter  Google Scholar 

  23. Cornelius A. Middelburg. Logic and Specification: Extending VDM-SL for advanced formal specification. Chapman and Hall, 1993.

    Google Scholar 

  24. R. Milner. Communication and Concurrency. Prentice Hall, 1989.

    Google Scholar 

  25. R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Information and Computation, 100:1–77, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  26. Donald A Norman. The Psychology of Everyday Things. Basic Books, 1988.

    Google Scholar 

  27. S. Owicki. Axiomatic Proof Techniques for Parallel Programs. PhD thesis, Department of Computer Science, Cornell University, 1975. 75–251.

    Google Scholar 

  28. G. D. Plotkin. A structural approach to operational semantics. Technical report, Aarhus University, 1981.

    Google Scholar 

  29. B. Randell. Facing up to faults. The Computer Jopurnal, 43(2):95–106, 2000.

    Article  Google Scholar 

  30. James Reason. Human Error. Cambridge University Press, 1990.

    Google Scholar 

  31. John Rushby. Using model checking to help discover mode confusions and other automation surprises. In Proceedings of 3rd Workshop on Human Error, pages 1–18. HESSD’99, 1999.

    Google Scholar 

  32. Davide Sangiorgi. Typed π-calculus at work: a correctness proof of Jones’s parallelisation transformation on concurrent objects. Theory and Practice of Object Systems, 5(1):25–34, 1999.

    Article  MathSciNet  Google Scholar 

  33. Edwin H. Satterthwaite. Source Language Debugging Tools. PhD thesis, Stanford University, 1975.

    Google Scholar 

  34. Mary Shaw and David Garlan. Sofware Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.

    Google Scholar 

  35. R.L. Sites. Some thoughts on proving clean termination of programs. Technical Report STAN-CS-74-417, Computer Science Department, Stanford University, May 1974.

    Google Scholar 

  36. F. B. Schneider and R. D. Schlichting. Fail-stop processors: an approach to designing fault-tolerant computing systems. TOCS, 1(3):222–238, 1983.

    Article  Google Scholar 

  37. T. B. Steel. Formal Language Description Languages for Computer Programming. North-Holland, 1966.

    Google Scholar 

  38. K. Stølen. Development of Parallel Programs on Shared Data-Structures. PhD thesis, Manchester University, 1990. available as UMCS-91-1-1.

    Google Scholar 

  39. I. C. Smith and D. N. Wall. Programmamable electronic systems for reactor safety. Atom, (395), 1989.

    Google Scholar 

  40. WWW.http://www.dcs.gla.ac.uk/prosper/, 2000.

  41. WWW.http://www.dirc.org.uk, 2000.

  42. WWW.http://www.ifad.dk/products/vdmtools.htm, 2000.

  43. Qiwen Xu. A Theory of State-based Parallel Programming. PhD thesis, Oxford University, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Jones, C.B. (2001). Thinking Tools for the Future of Computing Science. In: Wilhelm, R. (eds) Informatics. Lecture Notes in Computer Science, vol 2000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44577-3_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-44577-3_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41635-7

  • Online ISBN: 978-3-540-44577-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics