Abstract
Formal methods can be neatly woven in with less formal, but more widely-used, industrial-strength methods. We show how to integrate the Larch two-tiered specification method [GHW85a] with two used in the waterfall model of software development: Structured Analysis [Ros77] and Structure Charts [YC79]. We use Larch traits to define data elements in a data dictionary and the functionality of basic activities in Structured Analysis data-flow diagrams; Larch interfaces and traits to define the behavior of modules in Structure Charts. We also show how to integrate loosely formal specification in a prototyping model by discussing ways of refining Larch specifications as code evolves. To provide some realism to our ideas, we draw our examples from a non-trivial Larch specification of the graphical editor for the Miró visual languages [HMT+90].
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
J. Chen. The Larch/Generic Interface Language. S.B. Thesis, MIT, May 1989.
T. DeMarco. Structured Analysis and System Specification. Yourdon Press, New York, 1978.
E.W. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.
C. Easteal and G. Davies. Software Engineering: Analysis and Design. McGraw-Hill, London, 1989.
K. Futatsugi, J.A. Goguen, J.-P. Jouannaud, and J. Meseguer. Principles of OBJ2. In Proceedings of ACM POPL, pp. 52–66, 1985.
J.V. Guttag and J.J. Horning. Formal specification as a design tool. In Proceedings of the 7th Symposium on Principles of Programming Languages, pp. 251–261, Las Vegas, Jan. 1980.
J.V. Guttag, J.J. Horning, and A. Modet. Report on the Larch Shared Language: Version 2.3. TR, DEC-SRC, 1990.
John V. Guttag, James J. Horning, and Jeannette M. Wing. The Larch family of specification languages. IEEE Software, pp. 24–36, Sept. 1985.
J.V. Guttag, J.J. Horning, and J.M. Wing. Larch in five easy pieces. TR, DEC-SRC, 1985.
D. Gries. The Science of Programming. Springer-Verlag, New York, 1981.
J.V. Guttag. The Specification and Application to Programming of Abstract Data Types. PhD thesis, University of Toronto, Toronto, Canada, Sept. 1975.
[HMT+90] A. Heydon, M. W. Maimone, J.D. Tygar, J. M. Wing, and A. M. Zaremski. Miró: Visual specification of security. IEEE TSE, 16(10):1185–1197, Oct. 1990.
M. Jackson. System Development. Prentice-Hall, Englewood Cliffs, 1983.
C.B. Jones. Systematic Software Development Using VDM. Prentice-Hall International, 1986.
R.A. Lerner. Modular Specifications of Concurrent Programs. PhD thesis, CMU, 1991. TR CS-91-131.
B.A. Myers et al. The Garnet toolkit reference manuals: Support for highly-interactive, graphical user interfaces in Lisp. TR CS-89-196, CMU, Nov. 1989.
C. Morgan and B. Sufrin. Specification of the UNIX filing system. IEEE TSE, 10(2):128–142, 1984.
M. W. Maimone, J. D. Tygar, and J. M. Wing. Formal semantics for visual specification of security. In S.K. Chang, ed., Visual Languages and Visual Programming. Plenum Publishing Corporation, 1990.
B.T. Mynatt. Software Engineering with Student Project Guidance. Prentice-Hall, Englewood Cliffs, 1990.
S.L. Pfleeger. Software Engineering: The Production of Quality Software. Macillan, N.Y., 1991. Second edition.
D.T. Ross. Structured analysis (SA): A language for communicating ideas. IEEE TSE, pp. 16–34, Jan. 1977.
D.T. Ross. Applications and extensions of SADT. IEEE Computer, pp. 25–34, April 1985.
J.M. Spivey. Introducing Z: a Specification Language and its Formal Semantics. Cambridge University Press, 1988.
J.M. Wing. Specification firms: A vision for the future. InProceedings of the 3 rd International Workshop on Software Specification and Design, pp. 241–243, 1985.
J. Wing. Using Larch to specify Avalon/C++ objects. IEEE TSE, 16(9):1076–1088, Sept. 1990.
E. Yourdon and L. Constantine. Structured Design. Prentice-Hall, Englewood Cliffs, 1979.
A.M. Zaremski. A Larch specification of the Miro editor. TR CS-91–111, CMU, 1991.
P. Zave. An operational approach to requirements specification for embedded systems. IEEE TSE, 8(3):250–269, May 1972.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wing, J.M., Zaremski, A.M. (1991). Unintrusive ways to integrate formal specifications in practice. 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_32
Download citation
DOI: https://doi.org/10.1007/3-540-54834-3_32
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