Mathematics of software engineering

  • Manfred Broy
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 947)


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.


Business Process Software Engineering Business Case Description Technique Data Flow Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Abrial 92]
    J.R. Abrial: On Constructing Large Software Systems. In: J. van Leeuwen (ed.): Algorithms, Software, Architecture, Information Processing 92, Vol. I, 103–119Google Scholar
  2. [Bauer, Wössner 82]
    F.L. Bauer, H. Wössner: Algorithmic language and program development, Berlin: Springer, 1982Google Scholar
  3. [Beeck 95]
    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–148Google Scholar
  4. [Booch 91]
    G. Booch: Object Oriented Design with Applications. Benjamin Cummings, Redwood City, CA, 1991Google Scholar
  5. [Boyer, Moore 89]
    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–145Google Scholar
  6. [Broy 88]
    M. Broy: Nondeterministic data flow programs: how to avoid the merge anomaly. Science of Computer Programming 10 (1988), 65–85Google Scholar
  7. [Broy 91a]
    M. Broy: Towards a Formal Foundation of the Specification and Description Language SDL. Formal Aspects of Computing 3, 21–57 (1991)Google Scholar
  8. [Broy 91b]
    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–361Google Scholar
  9. [Broy 92]
    M. Broy: Experiences with Software Specification and Verification Using LP, the Larch Proof Assistent. DIGITAL Systems Research Center, SRC 93, 1992Google Scholar
  10. [Broy 93]
    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 1993Google Scholar
  11. [Broy 94a]
    M. Broy: Specification and Refinement of a Buffer of Length One. Marktoberdorf Summer School 1994Google Scholar
  12. [Broy 94b]
    M. Broy: A Functional Rephrasing of the Assumption/Commitment Specification Style. Technische Universität München, Institut für Informatik, TUM-I9417, June 1994Google Scholar
  13. [Broy 95a]
    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 1995Google Scholar
  14. [Broy 95b]
    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 1995Google Scholar
  15. [Broy, Dendorfer, Stølen 93]
    M. Broy, C. Dendorfer. K. Stølen: HOPSA — High Level Programming Language for Parallel Computations. P.P. Spies (ed): EuroArch 93, Springer 1993, 636–646Google Scholar
  16. [Broy, Lamport 93]
    M. Broy, L. Lamport: Specification Problem. Scholar
  17. [Broy, Stølen 94]
    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–267Google Scholar
  18. [CIP 84]
    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–222Google Scholar
  19. [Coad, Yourdan 91]
    P. Coad, E. Yourdon: Object-oriented Analysis. Prentice Hall International Editions 1991Google Scholar
  20. [DeMarco 79]
    T. DeMarco: Structured Analysis and System Specification. Yourdan Press, New York, NY, 1979Google Scholar
  21. [Denert 91]
    E. Denert: Software-Engineering. Springer 1991Google Scholar
  22. [Dijkstra 76]
    E.W. Dijkstra: A Discipline of Programming. Englewood Cliffs: Prentice-Hall 1976Google Scholar
  23. [Facchi 95]
    Ch. Facchi: Methodik zur formalen Spezification des ISO/OSI-Schichtenmodells. Dissertation, Fakultät fur Informatik, Technische Universität München, to appearGoogle Scholar
  24. [Floyd 67]
    R.W. Floyd: Assigning Meanings to Programs. Proc. of Symposia in Applied Mathematics of the Amer. Math. Soc. 19, 1967, 19–32Google Scholar
  25. [FOCUS 92]
    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 1992Google Scholar
  26. [Garlan, Shaw 93]
    D. Garlan, M. Shaw: An Introduction To Software Architecture. In: Advances in Software Engineering and Knowledge Engineering. 1993Google Scholar
  27. [Grapes 90]
    GRAPES-Referenzmanual, DOMINO, Integrierte Verfahrenstechnik. Siemens AG, Bereich Daten-und Informationstechnik 1990Google Scholar
  28. [Grosu 94]
    R. Grosu: A formal foundation for concurrent object-oriented programming. Dissertation, Fakultät für Informatik, Technische Universität München, December 94Google Scholar
  29. [Grosu et al. 95]
    R. Grosu, K. Stølen, M. Broy: A Denotational Model for Mobile Data Flow Networks. To appearGoogle Scholar
  30. [Guttag, Horning 93]
    J.V. Guttag, J.J. Horning: A Larch Shared Language Handbook. Springer 1993Google Scholar
  31. [Hettler 94]
    R. Hettler: Zur Übersetzung von E/R-Schemata nach Spectrum. Technischer Bericht TUM-19409, TU München, 1994Google Scholar
  32. [Hoare 69]
    C.A.R. Hoare: An Axiomatic Approach to Computer Programming. Comm. ACM 12, October 1969, 576–580, 583Google Scholar
  33. [Hußmann 94]
    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–34Google Scholar
  34. [Hußmann 95]
    H. Hußmann: Formal Foundations for SSADM. Technische Universität München, Fakultät für Informatik, Habilitationsschrift 1995Google Scholar
  35. [Jones 86]
    C.B. Jones: Systematic Program Development Using VDM. Prentice Hall 1986Google Scholar
  36. [KorSo 93]
    M. Broy, S. Jähnichen (Hrsg.): Korrekte Software durch formale Methoden. GMD Karlsruhe 1993Google Scholar
  37. [MacKenzie 91]
    D. MacKenzie: The Fangs of the VIPER. Nature Vol. 352, 1991, 467–468Google Scholar
  38. [Nickl 94]
    F. Nickl: Ablaufspezifikation durch Datenflußdiagramme und Axiome. In: B. Wolfinger (ed.): Innovationen bei Rechen-und Kommunikationssystemen, Informatik aktuell, Berlin: Springer, 1994, 10–18Google Scholar
  39. [Nipkow 89]
    T. Nipkow: Term Rewriting and Beyond — Theorem Proving in Isabelle. Formal Aspects of Computing 1, 1989, 320–338Google Scholar
  40. [Parnas, Madrey 91]
    D. L. Parnas, J. Madrey: Functional Documentation for Computer Systems Engineering (Version 2). CRL Report 237. McMaster University, Hamilton Ontario, Canada 1991Google Scholar
  41. [Pepper, Wirsing 95]
    P. Pepper, M. Wirsing: KorSo: a method for the development of correct software. To appearGoogle Scholar
  42. [Procos 92]
    D. Björner, H. Langmaack, C.A.R. Hoare: Provably Correct Systems. ProCoS I Final Delivery, März 1992Google Scholar
  43. [Reisig 86]
    W. Reisig: Petrinetze — Eine Einführung. Studienreihe Informatik; 2. Überarbeitete Auflage (1986).Google Scholar
  44. [Rumpe et al. 95]
    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-I9510Google Scholar
  45. [SDL 88]
    Specification and Description Language (SDL), Recommendation Z.100. Technical report, CCITT, 1988Google Scholar
  46. [Stølen et al. 93]
    K. Stølen, F. Dederichs, R. Weber: Assumption/Commitment Rules for Networks of Agents. Technische Universität München, Institut für Informatik, TUM-I9302Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Manfred Broy
    • 1
  1. 1.SysLab, Institut für InformatikTechnische Universität MünchenMünchenGermany

Personalised recommendations