HONG KONG BAPTIST UNIVERSITY
FACULTY OF SCIENCE

Department of Computer Science Distinguished Lecture
2009 Series

How Precise Documentation Allows Information Hiding to Reduce Software Complexity and Increase its Agility

Prof. David Lorge Parnas
Pioneer in Software Engineering
Professor Emeritus
University of Limerick & McMaster University

Date: September 1, 2009 (Tuesday)
Time: 10:30 - 12:00 am
Venue: Lecture Theater 1 (LT1), Ho Sin Hang Campus

Abstract
When the first papers on "information hiding" were published (1970-72), reaction was mixed:
  • A (negative) reviewer wrote, "… nobody does it that way" and recommended rejection.
  • Fred Brooks called it "a recipe for disaster" (in "Mythical Man Month").
  • Another reviewer called it banal (boring and obvious).

Ten years later, a textbook discussed those papers saying, "Parnas only wrote down what all good programmers were doing anyway".In the 25th anniversary edition of "Mythical Man Month", Fred Brooks indicated that his original opinion was wrong and wrote "Parnas was right".Today, most textbooks indicate that "information hiding" (or related formulations such as structured
design and object-orientation) is a good principle but industrial software developers do not do it.These, obviously contradictory, observations all have part of "the truth" but overlook a basic fact, viz. - if you hide some information, you must give people other information to work with. Information hiding solves many problems but only if the designers pay serious attention to documentation.This talk reviews the information hiding principle, stating it more precisely than was done when it was introduced, and then illustrates how mathematical documentation can make it work.

Biography
David Lorge Parnas (born February 10, 1941) is a Canadian early pioneer of software engineering, who developed the concept of information hiding in modular programming, which is an important element of object-oriented programming today. He is also noted for his advocacy of precise documentation.

Parnas earned his Ph.D. at Carnegie Mellon University in electrical engineering. Parnas also earned a professional engineering license in Canada and was one of the first to apply traditional engineering principles to software design.

He worked there as a professor for many years. He also taught at the University of North Carolina at Chapel Hill (U.S.), the Technische Hochschule Darmstadt (Germany), the University of Victoria (British Columbia, Canada), and Queen's University (Ontario, Canada).

In 1991, he then went to McMaster University in Hamilton, Ontario. Between 2002 and 2008, David Parnas worked at the University of Limerick in Limerick, Ireland.

David Parnas received several awards and honors

  • ACM "Best Paper" Award, 1979
  • Norbert Wiener Award for Social and Professional Responsibility, 1987
  • Two " Most Influential Paper" Awards, International Conference on Software Engineering, 1991 and 1995
  • Doctor honoris causa of the Computer Science Department, ETH Zurich, Switzerland, 1986
  • Fellow of the Association for Computing Machinery, 1994
  • Doctor honoris causa of the Faculté des Sciences Appliquées, Université catholique de Louvain, Belgium, 1996
  • ACM SIGSOFT's "Outstanding Research" Award, 1998
  • IEEE Computer Society's 60th Anniversary Award, 2007
  • Fellow of the Institute of Electrical and Electronics Engineers (IEEE), 2009

********* ALL INTERESTED ARE WELCOME ***********
(For enquiry, please contact Computer Science Department at 3411 2385)

http://www.comp.hkbu.edu.hk/v1/?page=dlecture&id=276&lang=sc
Photos  Video