Skip to main content

Mathematics of software engineering

  • Invited Lectures
  • Conference paper
  • First Online:

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

Abstract

Software engineering incorporates technical and organizational aspects. Technically, in software engineering we work with a development method and with description techniques, with modeling and implementation techniques. Mathematical techniques can provide a scientific basis for software engineering. They lead to a deeper understanding of the development process and a more powerful tool support. For finding the best mathematical foundation, we need a clear recognition of the economical and technical benefits of mathematical concepts in software engineering. This requires a careful analysis of the role of mathematics and logic in software engineering. We show, how software engineering methods can be backed up by mathematical techniques. We discuss the benefits that go far beyond so called formal methods for the formal specification and verification of software.

This work was carried out within the project SysLab sponsored by Siemens-Nixdorf and partially supported by the Deutsche Forschungsgemeinschaft under the Leibniz program.

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

  1. J.R. Abrial: On Constructing Large Software Systems. In: J. van Leeuwen (ed.): Algorithms, Software, Architecture, Information Processing 92, Vol. I, 103–119

    Google Scholar 

  2. F.L. Bauer, H. Wössner: Algorithmic language and program development, Berlin: Springer, 1982

    Google Scholar 

  3. M. v. d. Beeck: A Comparison of State Charts Variants. In: H. Langmaack, W.-P. de Roever, J. Vytopil (eds): Formal Techniques in Real Time and Fault-Tolereant Systems. Lecture Notes in Computer Science 863, 1994, 128–148

    Google Scholar 

  4. G. Booch: Object Oriented Design with Applications. Benjamin Cummings, Redwood City, CA, 1991

    Google Scholar 

  5. R.S. Boyer, J.S. Moore: The Addition of Bounded Quantification and Partial Functions to a Computational Logic and Its Theorem Prover. In: M. Broy (Hrsg.): Constructive Methods in Computing Science. Springer NATO ASI Series, Series F: Computer and System Sciences, Vol. 55, 1989, 95–145

    Google Scholar 

  6. M. Broy: Nondeterministic data flow programs: how to avoid the merge anomaly. Science of Computer Programming 10 (1988), 65–85

    Google Scholar 

  7. M. Broy: Towards a Formal Foundation of the Specification and Description Language SDL. Formal Aspects of Computing 3, 21–57 (1991)

    Google Scholar 

  8. M. Broy: Formalisation of distributed, concurrent, reactive systems. In: E.J. Neuhold, M. Paul (eds.): Formal Description of Programming Concepts. IFIP W.G. 2.2 advanced seminar, Rio de Janeiro 1989. Berlin: Springer, 1991, 319–361

    Google Scholar 

  9. M. Broy: Experiences with Software Specification and Verification Using LP, the Larch Proof Assistent. DIGITAL Systems Research Center, SRC 93, 1992

    Google Scholar 

  10. M. Broy: (Inter-)Action Refinement: The Easy Way. In: Broy, M. (ed.): Program Design Calculi. Springer NATO ASI Series, Series F: Computer and System Sciences, Vol. 118, pp. 121–158, Berlin, Heidelberg, New York: Springer 1993

    Google Scholar 

  11. M. Broy: Specification and Refinement of a Buffer of Length One. Marktoberdorf Summer School 1994

    Google Scholar 

  12. M. Broy: A Functional Rephrasing of the Assumption/Commitment Specification Style. Technische Universität München, Institut für Informatik, TUM-I9417, June 1994

    Google Scholar 

  13. M. Broy: Equations for Describing Dynamic Nets of Communicating Systems. In: E. Astesiano, G. Reggio, A. Tarlecki (eds): Recent Trends in Data Types Specification, 10th Workshop on Specification of Abstract Data Types joint with the 5th COMPASS Workshop, S.Margherita, Italy, May/June 1994 Lecture Notes in Computer Science 906, Springer 1995

    Google Scholar 

  14. M. Broy: Advanced Component Interface Specification. In: Takayasu Ito, Akinori Yonezawa (Eds.). Theory and Practice of Parallel Programming, International Workshop TPPP'94, Sendai, Japan, November 7–9, 1994, Proceedings, Lecture Notes in Computer Science 907, Springer 1995

    Google Scholar 

  15. M. Broy, C. Dendorfer. K. Stølen: HOPSA — High Level Programming Language for Parallel Computations. P.P. Spies (ed): EuroArch 93, Springer 1993, 636–646

    Google Scholar 

  16. M. Broy, L. Lamport: Specification Problem. http://www.research.digital.com/SRC/personal/Leslie_Lamport/dagstuhl/all.html

    Google Scholar 

  17. M. Broy, K. Stølen: Specification and Refinement of Finite Dataflow Networks — a Relational Approach. In: Langmaack, H. and de Roever, W.-P. and Vytopil, J. (eds): Proc. FTRTFT'94, Lecture Notes in Computer Science 863, 1994, 247–267

    Google Scholar 

  18. M. Broy: Algebraic methods for program construction: The project CIP. SOFSEM 82, also in: P. Pepper (ed.): Program Transformation and Programming Environments. NATO ASI Series. Series F: 8. Berlin-Heidelberg-New York-Tokyo: Springer 1984, 199–222

    Google Scholar 

  19. P. Coad, E. Yourdon: Object-oriented Analysis. Prentice Hall International Editions 1991

    Google Scholar 

  20. T. DeMarco: Structured Analysis and System Specification. Yourdan Press, New York, NY, 1979

    Google Scholar 

  21. E. Denert: Software-Engineering. Springer 1991

    Google Scholar 

  22. E.W. Dijkstra: A Discipline of Programming. Englewood Cliffs: Prentice-Hall 1976

    Google Scholar 

  23. Ch. Facchi: Methodik zur formalen Spezification des ISO/OSI-Schichtenmodells. Dissertation, Fakultät fur Informatik, Technische Universität München, to appear

    Google Scholar 

  24. R.W. Floyd: Assigning Meanings to Programs. Proc. of Symposia in Applied Mathematics of the Amer. Math. Soc. 19, 1967, 19–32

    Google Scholar 

  25. M. Broy, F. Dederichs, C. Dendorfer, M. Fuchs, T.F. Gritzner, R. Weber: The Design of Distributed Systems — an Introduction to FOCUS. Technical University Munich, Institute of Computer Science, TUM-I9203, Januar 1992, see also: Summary of Case Studies in FOCUS — a Design Method for Distributed Systems. Technical University of Munich, Institute for Computer Science, TUM-I9203, Januar 1992

    Google Scholar 

  26. D. Garlan, M. Shaw: An Introduction To Software Architecture. In: Advances in Software Engineering and Knowledge Engineering. 1993

    Google Scholar 

  27. GRAPES-Referenzmanual, DOMINO, Integrierte Verfahrenstechnik. Siemens AG, Bereich Daten-und Informationstechnik 1990

    Google Scholar 

  28. R. Grosu: A formal foundation for concurrent object-oriented programming. Dissertation, Fakultät für Informatik, Technische Universität München, December 94

    Google Scholar 

  29. R. Grosu, K. Stølen, M. Broy: A Denotational Model for Mobile Data Flow Networks. To appear

    Google Scholar 

  30. J.V. Guttag, J.J. Horning: A Larch Shared Language Handbook. Springer 1993

    Google Scholar 

  31. R. Hettler: Zur Übersetzung von E/R-Schemata nach Spectrum. Technischer Bericht TUM-19409, TU München, 1994

    Google Scholar 

  32. C.A.R. Hoare: An Axiomatic Approach to Computer Programming. Comm. ACM 12, October 1969, 576–580, 583

    Google Scholar 

  33. H. Hußmann: Formal foundation of pragmatic software engineering methods. In: B. Wolfinger(ed.): Innovationen bei Rechen-und Kommunikationssystemen, Informatik aktuell, Berlin: Springer, 1994, 27–34

    Google Scholar 

  34. H. Hußmann: Formal Foundations for SSADM. Technische Universität München, Fakultät für Informatik, Habilitationsschrift 1995

    Google Scholar 

  35. C.B. Jones: Systematic Program Development Using VDM. Prentice Hall 1986

    Google Scholar 

  36. M. Broy, S. Jähnichen (Hrsg.): Korrekte Software durch formale Methoden. GMD Karlsruhe 1993

    Google Scholar 

  37. D. MacKenzie: The Fangs of the VIPER. Nature Vol. 352, 1991, 467–468

    Google Scholar 

  38. F. Nickl: Ablaufspezifikation durch Datenflußdiagramme und Axiome. In: B. Wolfinger (ed.): Innovationen bei Rechen-und Kommunikationssystemen, Informatik aktuell, Berlin: Springer, 1994, 10–18

    Google Scholar 

  39. T. Nipkow: Term Rewriting and Beyond — Theorem Proving in Isabelle. Formal Aspects of Computing 1, 1989, 320–338

    Google Scholar 

  40. D. L. Parnas, J. Madrey: Functional Documentation for Computer Systems Engineering (Version 2). CRL Report 237. McMaster University, Hamilton Ontario, Canada 1991

    Google Scholar 

  41. P. Pepper, M. Wirsing: KorSo: a method for the development of correct software. To appear

    Google Scholar 

  42. D. Björner, H. Langmaack, C.A.R. Hoare: Provably Correct Systems. ProCoS I Final Delivery, März 1992

    Google Scholar 

  43. W. Reisig: Petrinetze — Eine Einführung. Studienreihe Informatik; 2. Überarbeitete Auflage (1986).

    Google Scholar 

  44. B. Rumpe, C. Klein, M. Broy: Ein strombasiertes mathematisches Modell verteilter informationsverarbeitender Systeme — Syslab-Systemmodell. Technische Universität München, Institut für Informatik, 1995, TUM-I9510

    Google Scholar 

  45. Specification and Description Language (SDL), Recommendation Z.100. Technical report, CCITT, 1988

    Google Scholar 

  46. K. Stølen, F. Dederichs, R. Weber: Assumption/Commitment Rules for Networks of Agents. Technische Universität München, Institut für Informatik, TUM-I9302

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bernhard Möller

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Broy, M. (1995). Mathematics of software engineering. In: Möller, B. (eds) Mathematics of Program Construction. MPC 1995. Lecture Notes in Computer Science, vol 947. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60117-1_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-60117-1_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60117-3

  • Online ISBN: 978-3-540-49445-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics