[an error occurred while processing this directive]

Trusted Components: Reuse, Contracts and Patterns

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


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

General info


26.01.2007 Added link to the paper regarding model checking.
22.01.2007 Added slides for model checking.
15.01.2007 Added slides for abstract interpretation.
10.01.2007 Added Arnout's pattern-componentization library.
08.01.2007 Added project evaluation assignment and slides for program analysis.
07.01.2007 Added example codes for exercise "from pattern to components".
03.01.2007 Added a link to Reuse Contracts and ETL3 (login: Talkitover, pass: etl3). Updated schedule.
20.12.2006 Added slides for design pattern to component and test case design exercise.
11.12.2006 Added slides for lecture on testing.
06.12.2006 Added a link to the wiki and corrected Schedule.
27.11.2006 Corrected Schedule.
27.11.2006 Added project description.
27.11.2006 Added the links to the axiomatic semantics. Previous slides were covering the first part of the course. Added exercises.
16.11.2006 Created the trusted component mailing list. If you did not receive an e-mail, please send an e-mail to Manuel.
15.11.2006 Added links to material for exercises.
13.11.2006 Added slides for exercise on components evaluation.
09.11.2006 Added slides for first lecture including link to assigned reading.
08.11.2006 Added slides from project description and exercise on metrics.
03.11.2006 Added slides from Andreas Zeller.
01.11.2006 Added a link to Eiffel Tutorial, updated slightly the text.
29.09.2006 Page up and running.

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

  • Research articles may be required to read during the course.
  • Eiffel Tutorial
  • 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.7 Free Edition is available for Windows, Linux, and MacOS. Click here!
  • Arnout's Component library for Design Patterns. 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 RZ F21
Wednesday 10:00-11:00 RZ F21


Week by Week Schedule