VVZ API is not affiliated with ETH Zurich. Data might be outdated or incorrect. Please view the official ETHZ Vorlesungsverzeichnis for binding information.

251-0239-00L 5 Credits BSC , DS , MSC D-INFK
You're viewing possible stale or outdated data. Please check the latest semester for more up-to-date information.

Trusted components: Reuse, Contracts and Patterns

Trusted components: Reuse, Contracts and Patterns (in English)

VVZ CR n/a

Last Updated: 2026-02-05 15:07:02

Abstract

Trusted Components are reusable software elements accompanied by a guarantee of quality. They should be equipped with contractsdescribing their abstract properties. The course explores the various facets of this notion. Topics include software quality, designpatterns, designing for reuse, componentization, correctness and proofs, testing, program analysis, proof-carrying code.

Objective

Students will learn how to build quality software systems through the combination of three key concepts (components, contracts, patterns) and understand how important design patterns can be turned into reusable components.

Content

"Trusted Components" are reusable software elements accompanied with a guarantee of quality. Trusted components should be equipped with "Contracts" describing their abstract properties. It is particularly interesting to combine these ideas with the concept of "Design Pattern", providing a common vocabulary for useful architectural techniques. Starting from a general presentation of the concepts of reuse and trusted components, the course explores the principal design patterns and studies whether and how they can be turned into reusable components usable "off the shelf", with the help of precise contracts. It also studies some component models, in particular the .NET multi-language component-based programming model. Students will use and extend a "Pattern Wizard" which helps integrate patterns into Eiffel programs.

Resources

Literature

Bertrand Meyer: Object-Oriented Software Construction, 2nd edition, Prentice Hall, 1997 Erich Gamma et al.: Design Patterns, Addison-Wesley, 1994

General Information

Language
English
Levels
BSC , DS , MSC
Frequency
Yearly recurring

Examination

Type
end-of-semester examination

Course Components

Type Title Time & Place Hours
lecture with exercise Trusted components: Reuse, Contracts and Patterns (in English)
  • Mon 09:15-11:00 (RZ F 21)
  • Wed 10:15-11:00 (RZ F 21)
3 h weekly

Offered In