All Topics  
David Parnas

 
David Parnas

   Email Print
   Bookmark   Link






 

David Parnas



 
 
David Lorge Parnas (born February 10, 1941) 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....
, who developed the concept of information hiding
Information hiding

Information hiding in computer science is the principle of hiding of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from change if the design decision is changed....
 in modular programming, which is an important element of object-oriented programming
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 today. He is also noted for his advocacy of precise documentation.

d earned his Ph.D.
Ph.D.

Ph.D. or PHD may stand for:* Doctor of Philosophy, an academic degree* Ph.D. , a 1980s British group* Piled Higher and Deeper, a web comic strip...
 at Carnegie Mellon University
Carnegie Mellon University

Carnegie Mellon University is a top private university research university in Pittsburgh. Since its inception, Carnegie Mellon has grown into a world-renowned institution, with numerous programs that are frequently college and university rankings among the best in the world....
 in electrical engineering
Electrical engineering

Electrical engineering, sometimes referred to as electrical and electronic engineering, is a field of engineering that deals with the study and application of electricity, electronics and electromagnetism....
. 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.






Discussion
Ask a question about 'David Parnas'
Start a new discussion about 'David Parnas'
Answer questions from other users
Full Discussion Forum



Encyclopedia


David Lorge Parnas (born February 10, 1941) 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....
, who developed the concept of information hiding
Information hiding

Information hiding in computer science is the principle of hiding of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from change if the design decision is changed....
 in modular programming, which is an important element of object-oriented programming
Object-oriented programming

Object-oriented programming is a programming paradigm that uses "Object_" and their interactions to design applications and computer programs....
 today. He is also noted for his advocacy of precise documentation.

Biography

David earned his Ph.D.
Ph.D.

Ph.D. or PHD may stand for:* Doctor of Philosophy, an academic degree* Ph.D. , a 1980s British group* Piled Higher and Deeper, a web comic strip...
 at Carnegie Mellon University
Carnegie Mellon University

Carnegie Mellon University is a top private university research university in Pittsburgh. Since its inception, Carnegie Mellon has grown into a world-renowned institution, with numerous programs that are frequently college and university rankings among the best in the world....
 in electrical engineering
Electrical engineering

Electrical engineering, sometimes referred to as electrical and electronic engineering, is a field of engineering that deals with the study and application of electricity, electronics and electromagnetism....
. 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 university research university located in Chapel Hill, North Carolina, North Carolina, United States....
 (U.S.
United States

The United States of America is a Federal government constitutional republic comprising U.S. state and a federal district. The country is situated mostly in central North America, where its Contiguous United States and Washington, D.C., the Capital districts and territories, lie between the Pacific Ocean and Atlantic Oceans, Borders of the U...
), the Technische Hochschule
Darmstadt University of Technology

The Darmstadt University of Technology, whose official name is "Technische Universit?t Darmstadt", in Darmstadt, Germany plays a significant role among German universities....
 Darmstadt
Darmstadt

Darmstadt is a city in the States of Germany of Hesse in Germany, located in the southern part of the Frankfurt Rhine Main Area.The city of Darmstadt was founded by the Counts of Katzenelnbogen in 1330, though settlement in the area is known to have been present as early as the late 11th century....
 (Germany
Germany

Germany , officially the Federal Republic of Germany , is a country in Central Europe. It is bordered to the north by the North Sea, Denmark, and the Baltic Sea; to the east by Poland and the Czech Republic; to the south by Austria and Switzerland; and to the west by France, Luxembourg, Belgium, and the Netherlands....
), the University of Victoria
University of Victoria

The University of Victoria is the second oldest degree granting university in British Columbia. This medium-sized university is located in Greater Victoria, British Columbia, Canada with an enrollment figure of approximately 19,500 students, as of 2007....
 (British Columbia
British Columbia

British Columbia is the westernmost of Canada's Provinces and territories of Canada and is famed for its natural beauty, as reflected in its Latin motto, Splendor sine occasu ....
, Canada
Canada

Canada is a country occupying most of northern North America, extending from the Atlantic Ocean in the east to the Pacific Ocean in the west and northward into the Arctic Ocean....
), and Queen's University
Queen's University

Queen's University, generally referred to simply as Queen's, is a coeducational, non-sectarian, research intensive, public university located in Kingston, Ontario, Ontario, Canada....
 (Ontario
Ontario

Ontario is a Provinces and territories of Canada located in the Central Canada part of Canada, the largest by population and second largest, after Quebec, in total area....
, Canada).

In 1991, he then went to McMaster University
McMaster University

McMaster University is a research-intensive university located in Hamilton, Ontario, Canada, with an enrollment of 20,600 full-time undergraduate students and 2,901 postgraduate students in 2007-08....
 in Hamilton, Ontario
Hamilton, Ontario

Hamilton is a port city in the Canadian Provinces and territories of Canada of Ontario. Conceived by George Hamilton when he purchased the James 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....
. Between 2002 and 2008, David Parnas worked at the University of Limerick
University of Limerick

The University of Limerick was established in 1972 as the National Institute for Higher Education, Limerick and became a university by Act of the Oireachtas in 1989 in accordance with the ....
 in Limerick
Limerick

Limerick is the third largest city in the Republic of Ireland and the county seat of County Limerick in the province of Munster, in the midwest of Republic of Ireland....
, Ireland
Republic of Ireland

Ireland is an Island country in north-western Europe. The modern Sovereignty state occupies about five-sixths of the island of Ireland, which was partitioned by the British on 3 May 1921....
.

David Parnas received several awards and honors
  • ACM
    Association for Computing Machinery

    The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
     "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, or , is one of the largest annual Software Engineering conferences. The first ICSE conference was in 1975 in Washington DC....
    , 1991 and 1995
  • Doctor honoris causa of the Computer Science Department, ETH Zurich
    ETH Zurich

    ETH Z?rich or Swiss Federal Institute of Technology Z?rich is a science and technology university in the Z?rich, Switzerland. Locals sometimes refer to it by the name Poly, derived from the original name Eidgen?ssisches Polytechnikum or Federal Polytechnic Institute....
    , Switzerland
    Switzerland

    Switzerland is a landlocked Swiss Alps country of roughly 7.7 million people in Western Europe with an area of 41,285 km?. Switzerland is a federal republic consisting of 26 states called Cantons of Switzerland....
    , 1986
  • Fellow
    Fellow

    A fellow in the broadest sense is someone who is an equal or a comrade. Historically, the term fellow was also used to describe a man, particularly by those in the upper social classes....
     of the Association for Computing Machinery
    Association for Computing Machinery

    The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
    , 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 as UCL, is Belgium's largest French language-speaking university, and a successor institution to the oldest university in the Low Countries....
    , Belgium
    Belgium

    * A small German-speaking Community of Belgium exists in eastern Wallonia. Belgium's linguistic diversity and related political and cultural conflicts are reflected in the history of Belgium and a complex Communities and regions of Belgium....
    , 1996
  • ACM
    Association for Computing Machinery

    The Association for Computing Machinery, or ACM, was founded in 1947 as the world's first scientific and educational computing society. Its membership was approximately 83,000 as of 2007....
     SIGSOFT
    SIGSOFT

    SIGSOFT is the Association for Computing Machinery Special Interest Group on Software Engineering. It is a forum for computing professionals from academia, industry and government to discuss software engineering....
    's "Outstanding Research" award, 1998
  • IEEE Computer Society
    IEEE Computer Society

    IEEE Computer Society is an organizational unit of the Institute of Electrical and Electronics Engineers . It was established in 1963 when the American Institute of Electrical Engineers and the Institute of Radio Engineers merged to create the IEEE....
    's 60th Anniversary Award, 2007
  • Fellow
    Fellow

    A fellow in the broadest sense is someone who is an equal or a comrade. Historically, the term fellow was also used to describe a man, particularly by those in the upper social classes....
     of the Institute of Electrical and Electronics Engineers
    Institute of Electrical and Electronics Engineers

    The Institute of Electrical and Electronics Engineers or IEEE is an international non-profit, professional body for the advancement of technology related to electricity....
     (IEEE), 2009


Work


Modular design

In modular design
Modular design

In systems engineering, 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 and focused the various responsibilities of a software module are. Cohesion is an level of measurement#Ordinal measurement type of measurement and is usually expressed as "high cohesion" or "low cohesion" when being discussed....
 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 ....
 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

Information hiding in computer science is the principle of hiding of design decisions in a computer program that are most likely to change, thus protecting other parts of the program from change 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 government constitutional republic comprising U.S. state and a federal district. The country is situated mostly in central North America, where its Contiguous United States and Washington, D.C., the Capital districts and territories, lie between the Pacific Ocean and Atlantic Oceans, Borders of the U...
 Strategic Defense Initiative
Strategic Defense Initiative

The Strategic Defense Initiative was a proposal 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 weapon ballistic missiles....
 (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....
" (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 , 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.


See also

  • Automatic programming
    Automatic programming

    In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program rather than have human programmers write the code....


Further reading

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


External links

  • and (PDF)