Skip to main content

Formal specification in metamorphic programming

  • Papers
  • Conference paper
  • First Online:
Book cover VDM'91 Formal Software Development Methods (VDM 1991)

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

Included in the following conference series:

Abstract

Formal specification methods have not been embraced wholeheartedly by the software development industry. We believe that a large part of industry's reluctance is due to semantic gaps that are encountered when attempting to integrate formal specification with other stages of the software development process. Semantic gaps necessitate a dramatic shift in a programmer's mode of thought, and undergoing many such shifts during the development of a software system is inefficient We identify semantic gaps in the software development process and show how they can be minimized by an approach called metamorphic programming that operates in-the-large and in-the-small. The main contribution that metamorphic programming makes to formal specification is to clarify the ways in which specifications can be merged smoothly into the software development lifecycle.

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. D. Bjorner, C. A. R. Hoare and H. Langmaack (eds.), VDM '90: VDM and Z — Formal Methods in Software Development — Proc. of the Third International Symposium of VDM Europe 1990, Kiel FRG, Springer-Verlag LNCS #428, April 1990.

    Google Scholar 

  2. The Munich Project CIP — Volume 2: The Program Transformation System CIP-S, Springer-Verlag LNCS #292, 1987.

    Google Scholar 

  3. Peter Coad and Edward Yourdon, Object-Oriented Analysis, Prentice Hall, Englewood Cliffs NJ, 1990.

    Google Scholar 

  4. Jozef De Man, “Making Languages More Powerful by Removing Limitations”, Proc. of ACM SIGSOFT International Workshop on Formal Methods in Software Development, ACM Software Engineering Notes, vol. 15, no. 4, September 1990.

    Google Scholar 

  5. R. Di Giovanni and P. L. Iachini, “HOOD and Z for the Development of Complex Software Systems”, in [Bjorner et al 90].

    Google Scholar 

  6. Michael R. Genesereth and N. Nilsson, Logical Foundations of Artificial Intelligence, Morgan Kaufmann, Los Altos CA, 1987.

    Google Scholar 

  7. Michael W. Godfrey, Toward Formal Specification of Operating System Modules, M.Sc. thesis, Dept. of Computer Science, Univ. of Toronto, May 1988.

    Google Scholar 

  8. Michael W. Godfrey and Richard C. Holt, “Spectur — A Specification Language for the Programmer”, Technical Report CSRI-241, Univ. of Toronto, June 1990.

    Google Scholar 

  9. A. Goldberg and D. Robson, Smalltalk-80: The Language, Addison-Wesley, Reading MA, 1989.

    Google Scholar 

  10. J. V. Guttag, J. J. Horning, and J. M. Wing, “Larch in Five Easy Pieces”, Technical Report 5, Digital Equipment Corporation Systems Research Center, July 1985.

    Google Scholar 

  11. E. C. R. Hehner, “Predicative Programming, parts 1 and 2”, Communications of the ACM, vol. 27, no. 2, February 1984.

    Google Scholar 

  12. R. C. Holt and J. R. Cordy, “The Turing Programming Language”, Communications of the ACM, vol. 31, no. 12, December 1988.

    Google Scholar 

  13. R. C. Holt, P. A. Matthews, J. A. Rosselet, and J. R. Cordy, The Turing Programming Language: Design and Definition, Prentice Hall International, 1988.

    Google Scholar 

  14. R. C. Holt, Terry Stanhope and George Lausman, “Object Oriented Computing: Looking Forward to Year 2000”, ITRC Tech. Report TR-9101, Information Technology Research Centre, Univ. of Toronto, April 1991.

    Google Scholar 

  15. Proc. of the Fourth International Software Process Workshop ACM SIGSOFT Engineering Notes, vol. 14, no. 4, June 1988.

    Google Scholar 

  16. Proc. of the Second International Workshop on Software Configuration Management, ACM SIGSOFT Engineering Notes, vol. 17, no. 7, November 1989.

    Google Scholar 

  17. C. B. Jones, Systematic Software Development Using VDM, Second Edition, Prentice Hall International, 1990.

    Google Scholar 

  18. B. Meyer, “On Formalism in Specification”, IEEE Software, vol. 2, no. 1, January 1985.

    Google Scholar 

  19. C. Morgan and B. Sufrin, “Specification of the UNIX Filing System”, IEEE Trans. on Software Engineering, vol. 10, no. 2, March 1984, pp 128–142.

    Google Scholar 

  20. Carroll Morgan, Programming from Specifications, Prentice Hall International, 1990.

    Google Scholar 

  21. Peter G. Neumann, “Flaws in Specifications and What To Do About Them”, Proc. of the Fifth International Workshop on Software Specification and Design, ACM SIGSOFT Engineering Notes, vol. 14, no. 3, May 1989.

    Google Scholar 

  22. David L. Parnas and Paul C. Clements, “A Rational Design Process: How and Why to Fake it”, IEEE Trans. on Software Engineering, vol. SE-12, no. 2, February 1986.

    Google Scholar 

  23. David A. Penny and Richard C. Holt, “The Concurrent Programming of Operating Systems using the Turing Plus Language”, Course Notes, Dept. of Computer Science, Univ. of Toronto, 1988.

    Google Scholar 

  24. C. Stephenson and R. C. Holt, “Changing Trends is High School Programming”, Educational Computing Organization of Ontario Output, vol. 11, no. 2, July 1990.

    Google Scholar 

  25. J. M. Spivey, The Z Notation: A Reference Manual, Prentice Hall International, 1989.

    Google Scholar 

  26. Jeannette M. Wing, “A Specifier's Introduction to Formal Methods”, IEEE Computer, vol. 23, no. 9, September 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

S. Prehn W. J. Toetenel

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Penny, D.A., Holt, R.C., Godfrey, M.W. (1991). Formal specification in metamorphic programming. In: Prehn, S., Toetenel, W.J. (eds) VDM'91 Formal Software Development Methods. VDM 1991. Lecture Notes in Computer Science, vol 551. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54834-3_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-54834-3_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54834-8

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics