Diese Seite enthält in alphabetischer Reihenfolge Verweise auf
für die Vorlesung relevante
Literatur sowie Links auf Online-Resourcen. Besonders
lohnende Quellen sind rot markiert. Die
Liste ist unvollständig und wird im Lauf des Semesters
vervollständigt.
[Kap. 1]
[Kap. 2]
[Kap. 3]
[Kap. 4]
[Kap. 5]
[Kap. 6]
[Kap. 7]
[Kap. 8]
Literatur
- J.R. Abrial. On Constructing Large Software Systems. In: J. van Leeuwen (ed.): Algorithms, Software Architecture, Information Processing 92, Vol. I, 103-119.
- P. Coad und E. Yourdon. Object-oriented Analysis. Prentice Hall International Editions 1991.
- J. Dahl, E.W. Dijkstra und C.A.R. Hoare. Structured Programming. London-New York: Academic Press 1972.
- T. DeMarco. Structured Analysis and System Specification. New York: Yourdan Press, NY, 1979.
- E. Denert. Software-Engineering. Springer 1991.
- Weakest precondition-Kalkül, viele und gute Beispiele:
Edsger W. Dijkstra. A Discipline of Programming. Englewood Cliffs: Prentice-Hall, 1976.
- C.A.R. Hoare und He Jifeng. Unifying Theories of Programming. Prentice Hall, 1998.
Vom selben Autor online verfügbar:
Theories of Programming: Top-Down and Bottom-Up and Meeting in the Middle.
Springer LNCS 1708: FM'99 (vol. 1), S. 1-27, Springer 1999.
- Informelle, sehr gut zu lesende Anmerkungen zur Softwaretechnik und ihre
Ausrichtung als Ingenieursdisziplin:
M.A. Jackson. Software Requirements & Specification - a Lexicon of Practice, Principles and Prejudices. Addison-Wesley 1995.
- Eine gut lesbare und umfassende Beschreibung objektorientierter
Konzepte und deren Anwendung im Softwareentwurf (vom Entwickler der OO-Sprache
Eiffel):
B. Meyer. Objektorientierte Softwareentwicklung. Hanser/Prentice-Hall, 1990.
- Links:
- Umfassendes Lehrbuch zur Einführung in Rechen- und Objektstrukturen:
F.L. Bauer und H. Wössner. Algorithmische Sprache und Programmentwicklung. Berlin-Heidelberg-New York: Springer 1981.
- Weakest precondition-Kalkül, Programmverifikation, Grundlagen:
David Gries. The Science of Programming. New York: Springer 1981.
- J.V. Guttag und J.J. Horning. A Larch Shared Language Handbook. Springer 1993.
- B.H. Liskov und S.N. Zilles. Programming with Abstract Data Types. Proc. ACM Conference on Very High-Level Languages. SIGPLAN Notices 9. 4, pp. 50-59, 1974.
-
H.-D. Ehrich, Martin Gogolla, Udo Lipeck. Algebraische Spezifikation
abstrakter Datentypen. Teubner, 1989.
-
Hartmut Ehrig, Bernd Mahr. Fundamentals of Algebraic Specification.
Springer-Verlag, 1985.
-
J. Loeckx, H.-D. Ehrich, M. Wolf. Specification of Abstract Data Types.
Wiley, 1996.
- Eine knappe Einführung in das Entity-Relationship-Modell sowie
Grundlagen des OO-Datenmodells sind zu finden
in Kapitel 5 bzw. 15 von
G. Vossen. Datenmodelle, Datenbanksprachen und Datenbank-Management-Systeme. 2. Auflage, Addison-Wesley, 1994.
- Klassisches Buch über Datenstrukturen:
N. Wirth. Algorithmen und Datenstrukturen. 3. Aufl. Stuttgart: Teubner 1983.
- N. Wirth. Systematisches Programmieren. Stuttgart: Teubner 1972.
- Der Klassiker:
Richard Bird and Philip Wadler. Introduction to Functional Programming.
Prentice-Hall, 1988.
- Der Klassiker in Haskell-Verkleidung:
Richard Bird. Introduction to Functional Programming using Haskell.
Prentice-Hall, 1998.
- Eine ausgezeichnete, umfassende Einführung in Bereichs- und
Fixpunkttheorie:
B.A. Davey und H.A. Priestley. Introduction to lattices and order. Cambridge University Press, 1991.
- Der ML-Klassiker:
Lawrence C. Paulson.
ML
for the Working Programmer. 2nd edition. Cambridge University Press,
1996.
-
Haskell:
Simon Thompson. Haskell: The Craft of Functional Programming. Addison-Wesley, 1996.
-
Grundlagen:
Peter Thiemann. Grundlagen der funktionalen Programmierung.
Teubner, 1994.
Simon Thompson. Type Theory and Functional Programming. Addison-Wesley, 1991.
- Eine eingängige Einführung in Induktion,
Fixpunkttheorie und Hoare-Logik findet sich u.a. in
Glynn Winskel. The Formal Semantics of Programming Languages.
MIT Press, 1993.
- Fixpunkttheorie und denotationelle Semantik:
Zohar Manna. Mathematical Theory of Computation. McGray-Hill Computer Science Series, 1974. ISBN 0-07-039910-7
Lloyd Allison. A practical introduction to denotational semantics. Cambridge University Press, 1986. ISBN 0-521-30689-2
- Links: funktionale Programmierung, (S)ML
- Detailierte Behandlung der Spezifikations- und Verifikationsmethode B, basierend auf prädikativer Spezifikation:
J.-R. Abrial: The B-Book: Assigning Programs to Meanings. Cambridge University Press, 1996.
- Semantik, Hoaresche Logik, Programmverifikation (auch parallele und verteilte Programme):
K.R. Apt und E.R. Olderog. Programmverifikation. Springer, 1994.
- Weakest precondition-Kalkül, viele und gute Beispiele:
Edsger W. Dijkstra. A Discipline of Programming. Englewood Cliffs: Prentice-Hall, 1976.
- Ein sehr gut lesbares Lehrbuch, mit Schwerpunkt auf systematischer
Programmentwicklung:
Edsger W. Dijkstra, W.H.J. Feijen: A Method of Programming. Addison-Wesley, 1988.
- Spezifikation mit VDM-SL (ein ISO-Standard):
John Fitzgerald, Peter Gorm Larsen. Modelling Systems. Cambridge University Press, 1998.
- Ein Klassiker des weakest precondition-Kalküls a la Dijkstra, mit Schwerpunkt auf systematischer
Programmentwicklung. Behandelt auch die logischen Grundlagen:
David Gries. The Science of Programming. Springer, 1981.
- Theorie prädikativer Spezifikation:
E. Hehner. A Practical Theory of Programs. Springer, 1993.
- Spezifikations- und Verifikationsmethode VDM, basierend auf prädikativer Spezifikation:
Cliff Jones. Systematic Software Development Using VDM. Prentice-Hall International, 1990.
- Der Z-Klassiker ist vergriffen, aber zum Glück online verfügbar:
Mike Spivey. The Z Notation: A Reference Manual.Prentice-Hall, 1992.
-
Eine Auswahl weiterer Bücher über Z finden sich auf der Z-Seite
(unter Publications).
- Eine exzellente Einführung in die Semantik von Programmiersprachen,
die auch die Grundlagen der Hoare-Logik behandelt:
Glynn Winskel. The Formal Semantics of Programming Languages.
MIT Press, 1993.
- Umfassendes Lehrbuch zur Einführung in Rechen- und Objektstrukturen:
F.L. Bauer und H. Wössner. Algorithmische Sprache und Programmentwicklung. Berlin-Heidelberg-New York: Springer 1981.
- Ein Standardwerk zu Prinzipien und Techniken der objektorientierten
Systemanalyse, die der Strukturierung und nicht zuletzt dem Verständnis
eines Problems dient:
P. Coad und E. Yourdon. Objektorientierte Analyse. Prentice Hall 1994.
- Der zweite Teil beschreibt die Umsetzung der Erkentnisse aus der
Analyse in den Systementwurf (ebenfalls ein Standardwerk):
P. Coad und E. Yourdon. Objektorientiertes Design. Prentice Hall 1994.
- Eine gut lesbare und umfassende Beschreibung objektorientierter
Konzepte und deren Anwendung im Softwareentwurf (vom Entwickler der OO-Sprache
Eiffel):
B. Meyer. Objektorientierte Softwareentwicklung. Hanser/Prentice-Hall, 1990.
- Enthält im ersten Teil eine umfassende und präzise Beschreibung
mathematischer Strukturen für Kalküle zur Systementwicklung und
im zweiten u.a. eine Einführung in die Verfeinerung strombasierter
Spezifikationen:
M. Broy und R. Steinbrüggen (Hrsg.). Calculational System Design. NATO Science Series F-173, IOS Press, 1999.
- Ein weiterer Verfeinerungskalkül, der u.a. auf Dijkstra's Arbeiten
zum wp-Kalkül und den guarded commands aufbaut (mit zahlreichen Fallstudien):
Carroll Morgan. Programming from Specifications. Prentice Hall, 2nd edition, 1994.
Online verfügbar.
[Kap. 1]
[Kap. 2]
[Kap. 3]
[Kap. 4]
[Kap. 5]
[Kap. 6]
[Kap. 7]
[Kap. 8]
[Vorlesung]
[Übungen]
Links
Zusätzliche Informationen
Motivierende Beispiele
Funktionale Programmierung
[nach oben (Literatur)]
|