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.
Preview
Unable to display preview. Download preview PDF.
References
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.
The Munich Project CIP — Volume 2: The Program Transformation System CIP-S, Springer-Verlag LNCS #292, 1987.
Peter Coad and Edward Yourdon, Object-Oriented Analysis, Prentice Hall, Englewood Cliffs NJ, 1990.
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.
R. Di Giovanni and P. L. Iachini, “HOOD and Z for the Development of Complex Software Systems”, in [Bjorner et al 90].
Michael R. Genesereth and N. Nilsson, Logical Foundations of Artificial Intelligence, Morgan Kaufmann, Los Altos CA, 1987.
Michael W. Godfrey, Toward Formal Specification of Operating System Modules, M.Sc. thesis, Dept. of Computer Science, Univ. of Toronto, May 1988.
Michael W. Godfrey and Richard C. Holt, “Spectur — A Specification Language for the Programmer”, Technical Report CSRI-241, Univ. of Toronto, June 1990.
A. Goldberg and D. Robson, Smalltalk-80: The Language, Addison-Wesley, Reading MA, 1989.
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.
E. C. R. Hehner, “Predicative Programming, parts 1 and 2”, Communications of the ACM, vol. 27, no. 2, February 1984.
R. C. Holt and J. R. Cordy, “The Turing Programming Language”, Communications of the ACM, vol. 31, no. 12, December 1988.
R. C. Holt, P. A. Matthews, J. A. Rosselet, and J. R. Cordy, The Turing Programming Language: Design and Definition, Prentice Hall International, 1988.
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.
Proc. of the Fourth International Software Process Workshop ACM SIGSOFT Engineering Notes, vol. 14, no. 4, June 1988.
Proc. of the Second International Workshop on Software Configuration Management, ACM SIGSOFT Engineering Notes, vol. 17, no. 7, November 1989.
C. B. Jones, Systematic Software Development Using VDM, Second Edition, Prentice Hall International, 1990.
B. Meyer, “On Formalism in Specification”, IEEE Software, vol. 2, no. 1, January 1985.
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.
Carroll Morgan, Programming from Specifications, Prentice Hall International, 1990.
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.
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.
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.
C. Stephenson and R. C. Holt, “Changing Trends is High School Programming”, Educational Computing Organization of Ontario Output, vol. 11, no. 2, July 1990.
J. M. Spivey, The Z Notation: A Reference Manual, Prentice Hall International, 1989.
Jeannette M. Wing, “A Specifier's Introduction to Formal Methods”, IEEE Computer, vol. 23, no. 9, September 1990.
Author information
Authors and Affiliations
Editor information
Rights 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