Skip to main content

Formal description of programming concepts

A software engineering viewpoint

  • Invited Lectures
  • Conference paper
  • First Online:
  • 163 Accesses

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

Abstract

Behind the book, the outline & theses of which have been given above, lies the following, rather strongly stated belief: We are teaching and pursuing Computer Science & Software Engineering in altogether the wrong way today! It is wrong to introduce Computer Science & Software Engineering students at Universities to computing by teaching them imperative languages like FORTRAN or Pascal. Mathematics-, Natural Science-, and other (than Computer/Software) engineering students have not been, and are not being, lead astray, and away, but strictly, and effectively on towards the core of their subjects when spending at least their first year, and usually more, studying, but not applying, theories. We should be able to do likewise. First expose students to the Art of Abstraction and to the Craft of Architecting. Then to the Engineering of Implementation and Craft of Programming. The same sequence of activities should be pursued in Software Development. The vast resources today spent on testing, integrating & maintaining software must be redirected into Architecting and the many, useful steps of Design. Computer Science Theory needs focus far more attention on ‘Formal Description of Programming Concepts’, and on ‘Programming Methodology’ than we see done today.

Written while at the Dept.of Comp.Sci., University of Kiel, Federal Republic of Germany.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References & Bibliography

  1. J.R.Abrial: “A Low Level File Handler Design”, Oxford Univ.Comp.Lab.,PRG, April 1980.

    Google Scholar 

  2. J.A.Goguen,J.W.Thatcher,E.G.Wagner & J.B.Wright: “An Initial Algebra Approach to the Specification, Correctness & Implementation of Abstract Data Types”,in ‘Current Trends in Programming Methodology’ “Data Structuring”,ed.R.Yeh,Prentice-Hall,1978.

    Google Scholar 

  3. J.R. Arsac: “Syntactic Source to Source Transforms and Program Manipulation”,CACM, vol.22,No.1,1979,pp 43–54.

    Google Scholar 

  4. H. Bekić & K. Walk: “Formalization of Storage Properties”,in: ‘Formal Semantics of Algorithmic Languages', ed. E. Engeler, Springer-Verlag, LN in Math., vol.188,1971.

    Google Scholar 

  5. H. Bekić,D. Bjørner,W,Henhapl,C.B. Jones & P. Lucas: “A Formal Definition of a PL/I Subset”,IBM Techn.Rpt.TR25.139,IBM Vienna Lab.,Austria,1974.

    Google Scholar 

  6. D.Bjørner: “Programming Languages:Linguistics & Semantics”,in:European ACM Int'1.Comp.Symp.,North Holland,1977,pp 521–536.

    Google Scholar 

  7. —: “Programming Languages:Formal Development of Interpreters and Compilers”,ibid,pp 1–21.

    Google Scholar 

  8. —: “The Vienna Development Method:Software Abstraction & Program Synthesis”, in: ‘Math.Stud.in Inform.Proc.', eds. E. Blum et al., Springer-Verlag, LNCS 75, 1979.

    Google Scholar 

  9. — & C.B.Jones: “The Vienna Development Method:The Meta-Language”, (eds.),Springer-Verlag,LNCS61,1978. D.Bjørner: “Programming in the Meta-Language — A Tutorial” pp 24–217,& 'software Abstr.Principles’,pp 337–374.

    Google Scholar 

  10. —: “The Systematic Development of a Compiling Algorithm”,in'state of the Art of Compiling’,eds.Amirchahy & Neel,IRIA Publ.,1979.

    Google Scholar 

  11. —: “Abstract Software Specifications” (ed.), Springer-Verlag,LNCS 86,1980 — this volume is referred to below.

    Google Scholar 

  12. — et al.: “A Formal Model of Abstractions & Realizations of IMS”, Techn.Rept.,Comp.Sci.Dept.,Techn.Univ.of Denmark,1979–1980.

    Google Scholar 

  13. —: “Experiments in Block-Structured GOTO-Modelling:Exits vs.Continuations”, in [Bjørner80a], pp 216–247.

    Google Scholar 

  14. —: “Formalization of Data Base Models”,in [Bjørner80a], pp 144–215.

    Google Scholar 

  15. —: “A Multi-Micro-Processor Ring Implementation of a CSP-like Language for Parallel Programming”, Techn.Note,Dept.Comp.Sci.,Techn.Univ. of Denmark,1980 — see also:[Folkjær].

    Google Scholar 

  16. P.Brinch Hansen: “The Architecture of Concurrent Programs”, Prentice-Hall, 1977.

    Google Scholar 

  17. H.Burge: “Recursive Programming Techniques”, 'systems Programming Series', Addison-Wesley,1975.

    Google Scholar 

  18. R.Burstall & J.Goguen: “The Semantics of CLEAR:A Specification Language”, in [Bjørner80a],pp 292–232.

    Google Scholar 

  19. DDC80/2-3-5:D.Bjørner & O.Oest: “The DDC ADA Compiler Project Development Method”,DDC80/11:H.H.Løvengreen et al.: “A Formal Model of ADA Storage”, DDC80/13:0.Dommergaard: “The Design,and a Formal Definition,of a Virtual (A-Code) Machine for ADA”,DDC80/14:O.Oest & J.Storbank: “Systematic Derivation of an A-Code Compiling Algorithm from a Denotational Semantics of ADA”,DDC80/15:H.H.Løvengreen & P.Folkjær: “Formal Models of ADA Tasking & Tasking Primitives”,1980.DDC:Danish Datamatics Centre,Techn.Univ.Denmark.

    Google Scholar 

  20. J. Darlington: “A Synthesis of Several Sorting Algorithms”,Acta Informatica, vol.11,pp 1–30, 1978.

    Google Scholar 

  21. P.Folkjær & D.Bjørner: “A Formal Model of a Generalized CSP-like Language”,Proc.IFIP80 World Congress,Melbourne,Oct.1980,North-Holland,1980.

    Google Scholar 

  22. M.Gordon,R.Milner,C.Wadsworth: “Edinburgh LCF”,Springer-Verlag,LNCS78,1980.

    Google Scholar 

  23. P.Henderson: “Functional Programming:Application & Implementation”,Prentice-Hall Int'l.,1980.

    Google Scholar 

  24. P.Haff,D.Bjørner et al.: “The Formal CCITT Definition of CHILL”,to be publ.as CCITT Recommendation Z200,Geneva,Switzerland,1980.

    Google Scholar 

  25. A.Hansal: “A Formal Definition of a Relational Data Base System”, IBM UK Sci.Ctr.,Techn.Rpt. UKSC 0080, June 1976.

    Google Scholar 

  26. K.W.Hansen: “Abstraction & Realization of SQL”, M.Sc.Thesis,Dept.Comp.Sci., Techn.Univ.Denmark,1979.

    Google Scholar 

  27. J. Goguen: “Some Ideas in Algebraic Semantics”,Naropa Inst.,Boulder,Co., UCLA Dept.Comp.Sci.,Los Angeles,Calif.,USA,1978.

    Google Scholar 

  28. C.A.R. Hoare: “Proof of Correctness of Data Representation”,Acta Informatica, vol.1,pp 271–281,1972.

    Google Scholar 

  29. —: “Communicating Sequential Processes”, CACM, vol.21, Aug.78, no.8, pp 666–677,1978.

    Google Scholar 

  30. C.B.Jones: “Denotational Semantics of GOTO: An Exit Formulation and its relation to Continuations”, in Bjørner78',pp 278–304, 1978.

    Google Scholar 

  31. —: “Constructing a Theory of a Data Structure as an Aid to Program Development”,Acta Informatica,vol.11,pp 119–137,1979.

    Google Scholar 

  32. —: “Software Development: A Rigorous Approach”,Prentice-Hall Int'l., 1980.

    Google Scholar 

  33. —: “Models of Programming Language Concepts”,in [Bjørner80a],pp 100–143,1980.

    Google Scholar 

  34. Kowalski: “Algorithm = Logic + Control”,CACM,vol.22,no.8,Aug.,pp 424–436, 1978.

    Google Scholar 

  35. W. Lamersdorf & D. Bjørner: “A Formal Specification of PASCAL/R-A Relational Data Type extension of PASCAL”,Techn.Rpt.Depts.Comp.Sci.:Techn.Univ. of Denmark & Hamburg Univ.,Germany,1979.

    Google Scholar 

  36. H.H.Løvengreen: “Varieties of Storage Models”,Techn.Note,Dept.Comp.Sci., Techn.Univ.of Denmark,April 1980.

    Google Scholar 

  37. R.Milner: “Algebraic Concurrency / Concurrent Behaviour Language / Behaviour Algebra”,Lect.Notes,Dept.Comp.Sci.,Århus Univ.,Denmark,Fall 1979, subm. for publ.: Springer-V erlag,LNCS(?),1980(?).

    Google Scholar 

  38. F.L.Bauer & M.Broy (eds.): “Program Construction”, Springer-Verlag,LNCS 69,1979.

    Google Scholar 

  39. M.Sintzhoff: “Suggestions for Composing & Specifying Program Design Decisions”, in ‘4th Int'l.Colloq.on “Programming”', Springer-Verlag,LNCS83, April 1980, Paris.

    Google Scholar 

  40. J.E.Stoy: “Denotational Semantics:The Scott-Strachey Approach to Programming Language Theory”,MIT Press,1977.

    Google Scholar 

  41. —: “Foundations of Denotational Semantics”,in [Bjørner80], pp 43–99, 1980.

    Google Scholar 

  42. W.Henhapl & C.B.Jones: “A Formal Definition of ALGOL60 as Described in the 1975 Modified Report”,in [Bjørner78'],pp 305–336,1978.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

P. Dembiński

Rights and permissions

Reprints and permissions

Copyright information

© 1980 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bjørner, D. (1980). Formal description of programming concepts. In: Dembiński, P. (eds) Mathematical Foundations of Computer Science 1980. MFCS 1980. Lecture Notes in Computer Science, vol 88. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0022492

Download citation

  • DOI: https://doi.org/10.1007/BFb0022492

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-10027-0

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics