David Parnas
Encyclopedia
David Lorge Parnas is a Canadian early pioneer of software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

, who developed the concept of information hiding
Information hiding
In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed...

 in modular programming
Modular programming
Modular programming is a software design technique that increases the extent to which software is composed of separate, interchangeable components called modules by breaking down program functions into modules, each of which accomplishes one function and contains everything necessary to accomplish...

, which is an important element of object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 today. He is also noted for his advocacy of precise documentation.

Biography

Parnas earned his Ph.D.
Ph.D.
A Ph.D. is a Doctor of Philosophy, an academic degree.Ph.D. may also refer to:* Ph.D. , a 1980s British group*Piled Higher and Deeper, a web comic strip*PhD: Phantasy Degree, a Korean comic series* PhD Docbook renderer, an XML renderer...

 at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 in electrical engineering
Electrical engineering
Electrical engineering is a field of engineering that generally deals with the study and application of electricity, electronics and electromagnetism. The field first became an identifiable occupation in the late nineteenth century after commercialization of the electric telegraph and electrical...

. 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
University of North Carolina at Chapel Hill
The University of North Carolina at Chapel Hill is a public research university located in Chapel Hill, North Carolina, United States...

 (U.S.
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...

), the Technische Hochschule
Darmstadt University of Technology
The Technische Universität Darmstadt, abbreviated TU Darmstadt, is a university in the city of Darmstadt, Germany...

 Darmstadt
Darmstadt
Darmstadt is a city in the Bundesland of Hesse in Germany, located in the southern part of the Rhine Main Area.The sandy soils in the Darmstadt area, ill-suited for agriculture in times before industrial fertilisation, prevented any larger settlement from developing, until the city became the seat...

 (Germany
Germany
Germany , officially the Federal Republic of Germany , is a federal parliamentary republic in Europe. The country consists of 16 states while the capital and largest city is Berlin. Germany covers an area of 357,021 km2 and has a largely temperate seasonal climate...

), the University of Victoria
University of Victoria
The University of Victoria, often referred to as UVic, is the second oldest public research university in British Columbia, Canada. It is a research intensive university located in Saanich and Oak Bay, about northeast of downtown Victoria. The University's annual enrollment is about 20,000 students...

 (British Columbia
British Columbia
British Columbia is the westernmost of Canada's provinces and is known for its natural beauty, as reflected in its Latin motto, Splendor sine occasu . Its name was chosen by Queen Victoria in 1858...

, Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...

), McMaster University
McMaster University
McMaster University is a public research university whose main campus is located in Hamilton, Ontario, Canada. The main campus is located on of land in the residential neighbourhood of Westdale, adjacent to Hamilton's Royal Botanical Gardens...

 in Hamilton, Ontario
Hamilton, Ontario
Hamilton is a port city in the Canadian province of Ontario. Conceived by George Hamilton when he purchased the Durand farm shortly after the War of 1812, Hamilton has become the centre of a densely populated and industrialized region at the west end of Lake Ontario known as the Golden Horseshoe...

, and University of Limerick
University of Limerick
The University of Limerick is a university in Ireland near the city of Limerick on the island's west coast. It was established in 1972 as the National Institute for Higher Education, Limerick and became a university by statute in 1989 in accordance with the University of Limerick Act 1989...

 (Limerick
Limerick
Limerick is the third largest city in the Republic of Ireland, and the principal city of County Limerick and Ireland's Mid-West Region. It is the fifth most populous city in all of Ireland. When taking the extra-municipal suburbs into account, Limerick is the third largest conurbation in the...

, Republic of Ireland).

David Parnas received several awards and honors
  • ACM
    Association for Computing Machinery
    The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

     "Best Paper" Award, 1979
  • Norbert Wiener Award for Social and Professional Responsibility
    Norbert Wiener Award for Social and Professional Responsibility
    The Norbert Wiener Award for Social and Professional Responsibility was established in 1987 in honor of Norbert Wiener to recognize contributions by computer professionals to socially responsible use of computers...

    , 1987
  • Two "Most Influential Paper" awards International Conference on Software Engineering
    International Conference on Software Engineering
    The International Conference on Software Engineering , is one of the largest annual software engineering conferences. The first ICSE conference was in 1975 in Washington DC.-List of Conferences:Past and future ICSE conferences include:...

    , 1991 and 1995
  • Doctor honoris causa of the Computer Science Department, ETH Zurich
    ETH Zurich
    The Swiss Federal Institute of Technology Zurich or ETH Zürich is an engineering, science, technology, mathematics and management university in the City of Zurich, Switzerland....

    , Switzerland
    Switzerland
    Switzerland name of one of the Swiss cantons. ; ; ; or ), in its full name the Swiss Confederation , is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe,Or Central Europe depending on the definition....

    , 1986
  • Fellow
    Fellow
    A fellow in the broadest sense is someone who is an equal or a comrade. The term fellow is also used to describe a person, particularly by those in the upper social classes. It is most often used in an academic context: a fellow is often part of an elite group of learned people who are awarded...

     of the Association for Computing Machinery
    Association for Computing Machinery
    The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

    , 1994
  • Doctor honoris causa of the Faculté des Sciences Appliquées, Université catholique de Louvain
    Université catholique de Louvain
    The Université catholique de Louvain, sometimes known, especially in Belgium, as UCL, is Belgium's largest French-speaking university. It is located in Louvain-la-Neuve and in Brussels...

    , Belgium
    Belgium
    Belgium , officially the Kingdom of Belgium, is a federal state in Western Europe. It is a founding member of the European Union and hosts the EU's headquarters, and those of several other major international organisations such as NATO.Belgium is also a member of, or affiliated to, many...

    , 1996
  • ACM
    Association for Computing Machinery
    The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

     SIGSOFT
    SIGSOFT
    The Association for Computing Machinery's Special Interest Group on Software Engineering provides a forum for computing professionals from industry, government and academia to examine principles, practices, and new research results in software engineering....

    's "Outstanding Research" award, 1998
  • IEEE Computer Society
    IEEE Computer Society
    The IEEE Computer Society is a professional society of IEEE. Its purpose and scope is “to advance the theory, practice, and application of computer and information processing science and technology” and the “professional standing of its members.” The CS is the largest of 38 technical societies...

    's 60th Anniversary Award, 2007
  • Doctor honoris causa of the Faculty of Informatics, University of Lugano, Switzerland
    Switzerland
    Switzerland name of one of the Swiss cantons. ; ; ; or ), in its full name the Swiss Confederation , is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe,Or Central Europe depending on the definition....

    , 2008
  • Fellow
    Fellow
    A fellow in the broadest sense is someone who is an equal or a comrade. The term fellow is also used to describe a person, particularly by those in the upper social classes. It is most often used in an academic context: a fellow is often part of an elite group of learned people who are awarded...

     of the Institute of Electrical and Electronics Engineers
    Institute of Electrical and Electronics Engineers
    The Institute of Electrical and Electronics Engineers is a non-profit professional association headquartered in New York City that is dedicated to advancing technological innovation and excellence...

     (IEEE), 2009
  • Ehrendoktorwürde der Technische Universität Wien (Dr. Tech.H.C.), Vienna Austria , 2011

Modular design

In modular design
Modular design
Modular design, or "modularity in design" is an approach that subdivides a system into smaller parts that can be independently created and then used in different systems to drive multiple functionalities...

, his double dictum of high cohesion
Cohesion (computer science)
In computer programming, cohesion is a measure of how strongly-related each piece of functionality expressed by the source code of a software module is...

 within modules and loose coupling
Coupling (computer science)
In computer science, coupling or dependency is the degree to which each program module relies on each one of the other modules.Coupling is usually contrasted with cohesion. Low coupling often correlates with high cohesion, and vice versa...

 between modules is fundamental to modular design in software. However, in Parnas's seminal 1972 paper On the Criteria to Be Used in Decomposing Systems into Modules, this dictum is expressed in terms of information hiding
Information hiding
In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed...

, and the terms cohesion and coupling are not used.

Technical activism

Dr. Parnas took a public stand against the US
United States
The United States of America is a federal constitutional republic comprising fifty states and a federal district...

 Strategic Defense Initiative
Strategic Defense Initiative
The Strategic Defense Initiative was proposed by U.S. President Ronald Reagan on March 23, 1983 to use ground and space-based systems to protect the United States from attack by strategic nuclear ballistic missiles. The initiative focused on strategic defense rather than the prior strategic...

 (also known as "Star Wars") in the mid 1980s, arguing that it would be impossible to write an application of sufficient quality that it could be trusted to prevent a nuclear attack. He has also been in the forefront of those urging the professionalization of "software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

" (a term that he characterizes as "an unconsummated marriage"). Dr. Parnas is also a heavy promoter of ethics in the field of software engineering.

Stance on academic evaluation methods

Dr. Parnas has joined the group of scientists which openly criticize the number-of-publications-based approach towards ranking academic production. On his November 2007 paper Stop the Numbers Game, he elaborates on several reasons on why the current number-based academic evaluation system used in many fields by universities all over the world (be it either oriented to the amount of publications or the amount of quotations each of those get) is flawed and, instead of generating more advance of the sciences, it leads to knowledge stagnation.

Quotations

...it is almost always incorrect to begin the decomposition of a system into modules on the basis of a flowchart. We propose instead that one begins with a list of difficult design decisions or design decisions which are likely to change. Each module is then designed to hide such a decision from the others.

I would advise students to pay more attention to the fundamental ideas rather than the latest technology. The technology will be out-of-date before they graduate. Fundamental ideas never get out of date. However, what worries me about what I just said is that some people would think of Turing machines and Goedel's theorem as fundamentals. I think those things are fundamental but they are also nearly irrelevant. I think there are fundamental design principles, for example structured programming principles, the good ideas in "Object Oriented" programming, etc.

Artificial intelligence has the same relation to intelligence as artificial flowers have to flowers. From a distance they may appear much alike, but when closely examined they are quite different.

Further reading

  • Hoffman, Daniel M.; Weiss David M. (Eds.): Software Fundamentals – Collected Papers by David L. Parnas, 2001, Addison-Wesley, ISBN 0201703696.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK