[an error occurred while processing this directive]

Trusted Components: Reuse, Contracts and Patterns

Bertrand Meyer, Manuel Oriol (Winter semester 2005/2006)


General info: News | Course description | Grading | Course books | Downloads | Further reading | Wiki
Lectures: Subjects and Slides

General info


20.10.2005 We updated the course description. Removed some of the patterns-related material and added some very interesting things on program analysis and verification.
31.10.2005 Slides for the first two lectures added. Course outline updated to account for the "Tag der Lehre" on November 14th.
2.11.2005 Slides for exercise 1 added.
2.11.2005 Slides for lecture 3 added.
9.11.2005 Slides for exercise 2 added. Program updated.
15.11.2005 Exercise 3 posted.
21.11.2005 The book chapter on axiomatic semantics has been added.
21.11.2005 Please download Hoare's article on axiomatic semantics.
1.12.2005 Updated the schedule, added the Project Description.
5.12.2005 Added the slides on patterns.
9.1.2006 Added the slides on program analysis.
9.1.2006 Added an assignement for the abstract interpretation session.
12.1.2006 The little documentation on how to setup an Eiffel project has been set up.
16.1.2006 Added the slides for lecture 9.
22.1.2006 Added the slides for lecture 10.
23.1.2006 Added the optional reading for proof-carrying code and references for program analysis and abstract interpretation.
30.1.2006 Added the slides for the 13th lecture.
30.1.2006 Added the slides for the last lecture.
10.2.2006 As already announced during the lecture and exercise, the oral exams will be held on Wednesday, February 15th, 2006 between 9:00 and 11:00 in RZ J22. Every participant should receive a personal mail with the exact examination times.

Course description

Trusted Components: Reuse, Contracts and Patterns

Web page at the computer science department: 251-0239-00 (3G)

Trusted Components are reusable software elements accompanied with a guarantee of quality. They should be equipped with contracts describing their abstract properties. The course explores the various facets of this notion. Topics include: the notion of software quality; library design; the notion of design pattern, and whether patterns can be turned into components ("componentization"); program correctness and axiomatic semantics; testing; techniques of program analysis, model checking, abstract interpretation; proof-carrying code.


Course books

  • Numerous research articles will be required to read during the course.
  • Bertrand Meyer: Object-Oriented Software Construction, Second Edition, Prentice Hall, 1997 ISBN 0-13-629155-4
Other (recommended) books:
  • Robert V. Binder: Testing Object-Oriented Systems: Models, Patterns, and Tools, Addison-Wesley, 1999.
  • Karine Arnout: From Patterns to Components, Ph.D. thesis, 2004. (See downloads)
  • Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995, ISBN 0201634988
  • Richard Mitchell, and Jim McKim: Design by Contract, by Example, Addison-Wesley, 2001, ISBN 0201634600


  • EiffelStudio 5.6 Free Edition is available for Windows, Linux, and MacOS. Click here!

Further reading

About Eiffel and O-O programming:

  • Karine Arnout: Eiffel: The Essentials, 2004 (Appendix A of Ph.D. dissertation From Patterns to Components).
  • Peter Thomas, Ray Weedon: Object-Oriented Programming in Eiffel, Second Edition, Addison-Wesley Eiffel in Practice Series, ISBN 0-201-33131-4.
  • Frieder Monninger: Eiffel. Objektorientiertes Programmieren in der Praxis, H. Heise Verlag, Hannover, ISBN 3-882-29028-5
  • Bertrand Meyer: La produzione del software object oriented. Prentice Hall International, Hemel Hempstead, ISBN 88-256-0205-7
  • Giuseppe Callegarin: Nuovo corso di informatica. Basi di dati e sistemi informativi. Per le Scuole superiori.CEDAM, ISBN 8-813-19565-6
  • Karine Arnout's Ph.D. thesis: From Patterns to Components. Click here!

About Program Analysis:






Monday 9:00-11:00 IFW C42
Wednesday 10:00-11:00 RZ F21


Week by Week Schedule