Skip to main content

Formal methods and the engineering paradigm

  • Session 4: Formal Methods and Engineering Instruction
  • Conference paper
  • First Online:
Software Engineering Education (SEI 1992)

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

Included in the following conference series:

Abstract

The snail's pace of formal methods adoption disappoints those who believe such techniques are important for software engineering. My thesis is that the failure of formal methods to have much impact is a consequence of a general misunderstanding of the engineering paradigm. Most formal methods proponents have backgrounds in science or mathematics, where the rules for adoption of a new system are clear cut and unambiguous. The engineering method, however, is grounded in the use and application of heuristics, several of which relate to the application of science. This paper discusses the role of formal methods in the context of the engineering method. Several approaches to increase the use of formal methods are proposed based on this analysis.

This article was processed using the IIEX macro package with LLNCS style

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Thomas Allen. Distinguishing engineers from scientists. In Ralph Katz, editor, Managing Professionals in Innovative Organizations. Ballinger Publishing, Cambridge, MA, 1988.

    Google Scholar 

  2. Mary-Frances Blade. Creativity in engineering. In Myron A. Coler, editor, Essays on Creativity in the Sciences. New York University Press, New York, 1963.

    Google Scholar 

  3. Nathaniel S. Borenstein. Programming as if People Mattered: Friendly Programs, Software Engineering and Other Noble Delusions. Princeton University Press, Princeton, New Jersey, 1991.

    Google Scholar 

  4. Edsger Dijkstra. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ, 1976.

    Google Scholar 

  5. Michael Dyer. The Cleanroom Approach to Quality Software Development. John Wiley & Sons, New York, 1992.

    Google Scholar 

  6. B. Fields and M. Elvang-Goransson. A VDM case style in mural. IEEE Transctions on Software Engineering, 18(4):265–278, April 1992.

    Google Scholar 

  7. Samuel C. Florman. The Existential Pleasures of Engineering. St. Martin's Press, New York, 1976.

    Google Scholar 

  8. Joseph Goguen. Parameterized programming. IEEE Transactions on Software Engineering, 10(5):528–543, September 1984.

    Google Scholar 

  9. John Guttag and James Horning. An introduction to LCL, a Larch/C interface language. Technical Report 74, Digital Systems Research Center, July 1991.

    Google Scholar 

  10. John Guttag, James Horning, and Andres Modet. Report on the Larch shared language. Technical Report 58, Digital Systems Research Center, April 1990.

    Google Scholar 

  11. Anthony Hall. Seven myths of formal methods. IEEE Software, 7(5):11–20, September 1990.

    Google Scholar 

  12. Watts Humphrey. Managing the Software Process. Addison-Wesley, Reading, MA, 1989.

    Google Scholar 

  13. Watts Humphrey, David Kitson, and Julia Gale. A comparison of U.S. and Japanese software process maturity. In Proceedings of the 13th International Conference on Software Engineering, pages 38–51, Austin, TX, May 1991.

    Google Scholar 

  14. Paul Johnson. Experience of formal development in CICS. In John A. McDermid, editor, The Theory and Practice of Refinement, pages 59–78. Butterworths, London, 1989.

    Google Scholar 

  15. Cliff B. Jones. Systematic Software Development Using VDM. Prentice Hall, Englewood Cliffs, N.J., 1990.

    Google Scholar 

  16. Billy Vaughn Koen. Definition of the Engineering Method. American Society for Engineering Education, Washington, D.C., 1985.

    Google Scholar 

  17. Burton Leathers. After the divorce: Reflections on using Eiffel at Cognos. In Symposium on Object-Oriented Programming Emphasizing Practical Applications, pages 66–80. Marist College, September 1990.

    Google Scholar 

  18. Barbara Liskov and John Guttag. Abstraction and Specification in Program Design. MIT Press, Cambridge, 1986.

    Google Scholar 

  19. Henry Petroski. To Engineer Is Human: The Role of Failure in Successful Design. St. Martin's Press, New York, 1985.

    Google Scholar 

  20. Ben Potter, Jane Sinclair, and David Till. An Introduction to Formal Specification and Z. Prentice-Hall, Englewood Cliffs, NJ, 1991.

    Google Scholar 

  21. Mary Shaw. Prospects for an engineering discipline of software. IEEE Software, 7(6):15–24, November 1990.

    Google Scholar 

  22. J. M. Spivey. The Z Notation: A Reference Manual. Prentice-Hall, Englewood Cliffs, N.J., 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Carol Sledge

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lutz, M.J. (1992). Formal methods and the engineering paradigm. In: Sledge, C. (eds) Software Engineering Education. SEI 1992. Lecture Notes in Computer Science, vol 640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55963-9_44

Download citation

  • DOI: https://doi.org/10.1007/3-540-55963-9_44

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55963-4

  • Online ISBN: 978-3-540-47330-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics