locations
XP Columbus Ohio Users Group
agileLUNCHBOX

Monthly Meetings

April 27, 2005: Design by Contract

Downloads

Abstract

To be sure that object-oriented software will perform properly, we need a systematic approach to specifying and implementing object-oriented software elements and their relations in a software system. One such a method is known as Design by Contract. Under the Design by Contract theory, a software system is viewed as a set of communicating components whose interaction is based on precisely defined specifications of the mutual obligations -- contracts.

The benefits of Design by Contract include the following:

  • A better understanding of the object-oriented method and, more generally, of software construction.
  • A systematic approach to building bug-free object-oriented systems.
  • An effective framework for debugging, testing and, more generally, quality assurance.
  • A method for documenting software components.
  • Better understanding and control of the inheritance mechanism.
  • A technique for dealing with abnormal cases, leading to a safe and effective language construct for exception handling.
  • In the talk, I will discuss Design by Contract as embodied in the Eiffel software platform, and contrast this approach with test driven design.

Dr. Richard Gams is a physician specializing in the treatment of cancer patients. He was Deputy Director of the Comprehensive Cancer Center at the University of Alabama at Birmingham, head of cancer research at Adria Laboratories in Dublin, Ohio, and Director of Developmental Therapeutics at the James Cancer Center at the Ohio State University. In 1998, he formed Prologue Research, an organization devoted to conducting clinical trials of new anti-cancer therapies. Dr. Gams's major research interest has been in the use of computerized expert systems to insure proper conduct of these trials. Prolog and Eiffel are the major platforms used in this effort. He is especially interested in using Design by Contract to insure the correctness of these programs.

 

More Information