Abstract
This paper examines the early history of the flow diagram notation developed by Herman Goldstine and John von Neumann in the mid-1940s. It emphasizes the motivation for the notation’s mathematical aspects and the provision made for formally checking the consistency of diagrams. Goldstine and von Neumann’s introduction of assertion boxes is considered in detail. The practical use of flow diagrams is considered briefly, and the paper then reads Turing’s 1949 essay on “Checking a large routine” in the light of his likely knowledge of the Goldstine/von Neumann notation. In particular, his different use of the term “assertion” is considered, and related to the earlier work.
I thank Troy Astarte and Brian Randell for the invitation to give the talk at the HFM 2019 workshop on which this paper is based.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
ASME Standard: Operation and flow process charts. American Society of Mechanical Engineers (1947)
Burks, A.W., Goldstine, H.H., von Neumann, J.: Preliminary discussion of the logical design of an electronic computing instrument. The Institute for Advanced Study, 28 June 1946
Curry, H.B., Wyatt, W.A.: A study of inverse interpolation of the Eniac. Ballistic Research Laboratories Report No. 615. Aberdeen Proving Ground, MD (1946)
Eckert, J.P., Mauchly, J.: First draft report on the UNIVAC. Electronic Control Company, Philadelphia, PA. Herman Goldstine papers, Hampshire College, box 3 (1947)
Ensmenger, N.: The multiple meanings of a flowchart. Inf. Cult. 51(3), 321–351 (2016)
Floyd, R.W.: Assigning meanings to programs. In: Schwartz, J.T. (ed.) Mathematical Aspects of Computer Science. Proceedings of Symposia in Applied Mathematics, vol. XIX, pp. 19–32. American Mathematical Society (1967)
Gilbreth, F.B., Gilbreth, L.M.: Process charts. American Society of Mechanical Engineers (1921)
Goldstine, H.H.: Letter to Douglas Hartree. Herman Goldstine papers, American Philosophical Society, box 3, 16 September 1947
Goldstine, H.H.: The Computer from Pascal to von Neumann. Princeton University Press, Princeton (1972)
Goldstine, H.H., von Neumann, J.: unpublished draft of [11]. John von Neumann papers, Library of Congress, box 33, folder 7 (1946)
Goldstine, H.H., von Neumann, J.: Planning and coding problems for an electronic computing instrument, Part II, vol. 1. The Institute for Advanced Study (1947)
Haigh, T., Priestley, M., Rope, C.: ENIAC in Action: Making and Remaking the Modern Computer. MIT Press, Cambridge (2016)
Hartree, D.R.: Letter to Herman Goldstine. Herman Goldstine papers, American Philosophical Society, box 3, 7 September 1947
Hartree, D.R.: Calculating Instruments and Machines. The University of Illinois Press, Urbana (1949)
Hartree, D.R.: Numerical Analysis. Oxford University Press, Oxford (1952)
Jones, C.B.: The early search for tractable ways of reasoning about programs. IEEE Ann. Hist. Comput. 25(2), 26–49 (2003)
Morris, F.L., Jones, C.B.: An early program proof by Alan turing. Ann. Hist. Comput. 6(2), 139–143 (1984)
Morris, S.J., Gotel, O.C.Z.: Flow diagrams: rise and fall of the first software engineering notation. In: Barker-Plummer, D., Cox, R., Swoboda, N. (eds.) Diagrams 2006. LNCS (LNAI), vol. 4045, pp. 130–144. Springer, Heidelberg (2006). https://doi.org/10.1007/11783183_17
Priestley, M.: Routines of Substitution: John von Neumann’s Work on Software Development, 1945-1948. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-319-91671-2
Turing, A.M.: Report on visit to U.S.A., 1st–20th January 1947. Mathematics Division [NPL], 3 February 1947
Turing, A.M.: Checking a large routine. In: Report of a Conference on High Speed Automatic Calculating Machines, 22–25 June 1949. pp. 70–72. University Mathematical Laboratory, Cambridge (1949). Reprinted in [24], pp. 3–164
Voller, W.R.: Modern Flour Millling, 3rd edn. D. Van Nostrand Company, New York (1897)
von Neumann, J.: Letter to Herman Goldstine. Herman Goldstine papers, American Philosophical Society, box 20, 2 March 1947
Williams, M.R., Campbell-Kelly, M. (eds.): The Early British Computer Conferences. Charles Babbage Institute Reprint Series for the History of Computing, vol. 14. The MIT Press, Cambridge (1989)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Priestley, M. (2020). Flow Diagrams, Assertions, and Formal Methods. In: Sekerinski, E., et al. Formal Methods. FM 2019 International Workshops. FM 2019. Lecture Notes in Computer Science(), vol 12233. Springer, Cham. https://doi.org/10.1007/978-3-030-54997-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-030-54997-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-54996-1
Online ISBN: 978-3-030-54997-8
eBook Packages: Computer ScienceComputer Science (R0)