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.
References
J.R. Abrial: On Constructing Large Software Systems. In: J. van Leeuwen (ed.): Algorithms, Software, Architecture, Information Processing 92, Vol. I, 103–119
F.L. Bauer, H. Wössner: Algorithmic language and program development, Berlin: Springer, 1982
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
G. Booch: Object Oriented Design with Applications. Benjamin Cummings, Redwood City, CA, 1991
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
M. Broy: Nondeterministic data flow programs: how to avoid the merge anomaly. Science of Computer Programming 10 (1988), 65–85
M. Broy: Towards a Formal Foundation of the Specification and Description Language SDL. Formal Aspects of Computing 3, 21–57 (1991)
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
M. Broy: Experiences with Software Specification and Verification Using LP, the Larch Proof Assistent. DIGITAL Systems Research Center, SRC 93, 1992
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
M. Broy: Specification and Refinement of a Buffer of Length One. Marktoberdorf Summer School 1994
M. Broy: A Functional Rephrasing of the Assumption/Commitment Specification Style. Technische Universität München, Institut für Informatik, TUM-I9417, June 1994
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
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
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
M. Broy, L. Lamport: Specification Problem. http://www.research.digital.com/SRC/personal/Leslie_Lamport/dagstuhl/all.html
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
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
P. Coad, E. Yourdon: Object-oriented Analysis. Prentice Hall International Editions 1991
T. DeMarco: Structured Analysis and System Specification. Yourdan Press, New York, NY, 1979
E. Denert: Software-Engineering. Springer 1991
E.W. Dijkstra: A Discipline of Programming. Englewood Cliffs: Prentice-Hall 1976
Ch. Facchi: Methodik zur formalen Spezification des ISO/OSI-Schichtenmodells. Dissertation, Fakultät fur Informatik, Technische Universität München, to appear
R.W. Floyd: Assigning Meanings to Programs. Proc. of Symposia in Applied Mathematics of the Amer. Math. Soc. 19, 1967, 19–32
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
D. Garlan, M. Shaw: An Introduction To Software Architecture. In: Advances in Software Engineering and Knowledge Engineering. 1993
GRAPES-Referenzmanual, DOMINO, Integrierte Verfahrenstechnik. Siemens AG, Bereich Daten-und Informationstechnik 1990
R. Grosu: A formal foundation for concurrent object-oriented programming. Dissertation, Fakultät für Informatik, Technische Universität München, December 94
R. Grosu, K. Stølen, M. Broy: A Denotational Model for Mobile Data Flow Networks. To appear
J.V. Guttag, J.J. Horning: A Larch Shared Language Handbook. Springer 1993
R. Hettler: Zur Übersetzung von E/R-Schemata nach Spectrum. Technischer Bericht TUM-19409, TU München, 1994
C.A.R. Hoare: An Axiomatic Approach to Computer Programming. Comm. ACM 12, October 1969, 576–580, 583
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
H. Hußmann: Formal Foundations for SSADM. Technische Universität München, Fakultät für Informatik, Habilitationsschrift 1995
C.B. Jones: Systematic Program Development Using VDM. Prentice Hall 1986
M. Broy, S. Jähnichen (Hrsg.): Korrekte Software durch formale Methoden. GMD Karlsruhe 1993
D. MacKenzie: The Fangs of the VIPER. Nature Vol. 352, 1991, 467–468
F. Nickl: Ablaufspezifikation durch Datenflußdiagramme und Axiome. In: B. Wolfinger (ed.): Innovationen bei Rechen-und Kommunikationssystemen, Informatik aktuell, Berlin: Springer, 1994, 10–18
T. Nipkow: Term Rewriting and Beyond — Theorem Proving in Isabelle. Formal Aspects of Computing 1, 1989, 320–338
D. L. Parnas, J. Madrey: Functional Documentation for Computer Systems Engineering (Version 2). CRL Report 237. McMaster University, Hamilton Ontario, Canada 1991
P. Pepper, M. Wirsing: KorSo: a method for the development of correct software. To appear
D. Björner, H. Langmaack, C.A.R. Hoare: Provably Correct Systems. ProCoS I Final Delivery, März 1992
W. Reisig: Petrinetze — Eine Einführung. Studienreihe Informatik; 2. Überarbeitete Auflage (1986).
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
Specification and Description Language (SDL), Recommendation Z.100. Technical report, CCITT, 1988
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
Author information
Authors and Affiliations
Editor information
Rights 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