[an error occurred while processing this directive]

Trusted Components: Reuse, Contracts and Patterns

Karine Arnout, Bertrand Meyer (Winter semester 2004/2005)


General info: News | Course description | Grading | Course books | Downloads | Further reading
Lectures: Schedule | Slides & Videos

General info


  • Added book chapter about Axiomatic Semantics
  • Marked Slides for Exam
  • Added Slides about Eiffel AST
  • There will be a question and answer lecture on Monday (20.12.2004) about EiffelStudio in connection with the project.
  • The slides about design by contract can be found here
  • The formal methods slides are online.
  • The video of lecture 5 (about patterns) is now available.
  • New lecture schedule
  • The slides of the first few lectures can be found here
  • First lecture
  • Register to the course: Please send an email to this address with subject "TC course participant"
    Content: Name, Preferred email address, Status (Diplom student - what semester -, Ph.D. student, other), Taking the course for credit or not, A picture of you (JPEG, GIF, PNG) if you wish.
  • Video of first lecture is now available.

Course description

Trusted Components: Reuse, Contracts and Patterns

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

Among the ideas that can help advance software quality, three have achieved particular visibility. Contracts help build systems with precise specifications to ensure correctness, provide appropriate documentation, open the way to systematic testing, and help project management. Component technology supports large-scale software reuse. Patterns let arbitrary applications benefit from architectural solutions that have established themselves as widely useful; they provide developers with a common vocabulary, facilitate design discussions and lead to robust architectures.
The course covers all three concepts, both individually and by showing how they reinforce each other. It concludes with a systematic approach to building libraries of components based on reusable implementations of patterns systematically equipped with contracts.


Important: No "Testat" is delivered for this course. The only way to get a grade is to take the exam and the project. This applies regardless of your department or status.

  • 60% Project (Deadline: 4 February 2005): Extension of a tool called Pattern Wizard that automatically generates skeleton classes corresponding to design patterns
  • 40% Oral Exam: 2 February 2004

Course books

  • Karine Arnout: From Patterns to Components, Ph.D. thesis, 2004. (See downloads)
  • Bertrand Meyer: Object-Oriented Software Construction, Second Edition, Prentice Hall, 1997 ISBN 0-13-629155-4
Other (recommended) books:
  • 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.5 Free Edition is available for Windows, Linux, and MacOS. Click here!
  • Karine Arnout's Ph.D. thesis: From Patterns to Components. Click here!
  • Pattern Wizard delivery. 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
About Design Patterns:
  • Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal: Pattern-Oriented Software Architecture: A System of Patterns, Volume 1, Wiley series in Software design patterns, 1996. ISBN 0471958697
  • Jean-Marc Jézéquel, Michel Train, and Christine Mingins: Design Patterns and Contracts, Addison-Wesley, 1999, ASIN 0201309599
  • Wolfgang Pree: Design Patterns for Object-Oriented Software Development. Addison-Wesley, 1994. ASIN 0201422948
  • Alan Shalloway, and James R. Trott: Design Patterns Explained: A New Perspective on Object-Oriented Design. Addison-Wesley, Software patterns series, 2002. ISBN 0201715945






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

Slides covered in the Exam

Tentative schedule



Issues of software quality PDF lecture 1
Reuse, Trusted Components PDF lecture 2, 3 & 4
Design patterns PDF lecture 5
Formal methods (Guest lecture by Prof. J-R. Abrial) PDF lecture 6
Pattern Wizard, Project presentation PDF lecture 7
Design by Contract (1/2) PDF lecture 8
Design by Contract (2/2) PDF lecture 9
EiffelStudio presentation PDF lecture 11
Observer, Mediator PDF lecture 14
Contract-based testing PDF lecture 20
Eiffel AST PDF lecture 21
Axiomatic Semantics PDF lecture 22


Slides & Videos


Last update: 2005-1-15