Software engineering or methods for the multi-person construction of multi-version programs

  • D. L. Parnas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 23)


This talk will describe some methods which have been used to produce a family of related software products using many relatively unskilled programmers. The primary topics of the talk will be:
  1. 1.

    An interpretation of the word "structure" with regard to software;

  2. 2.

    Criteria to be used in decomposing software into modules;

  3. 3.

    Problems and techniques with regard to software module specifications.


The talk will be introductory in nature emphasizing the desired properties of well engineered software systems and providing an overview of new methods which have proven useful in achieving those properties.


Structure Description Work Assignment Internal Construction Seperate Address Visible Aspect 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
    Parnas, D.L., "Some Conclusions from an Experiment in Software Engineering", Proceedings of the 1972 FJCC.Google Scholar
  2. [2]
    Parnas, D.L., "On the Criteria to be Used in Decomposing Systems into Modules", Communications of the ACM (Programming Techniques Department), Dec. 1972.Google Scholar
  3. [3]
    Parnas, D.L., "A Technique for Software Module Specification with Examples", Communications of the ACM (Programming Techniques Department), May 1972.Google Scholar
  4. [4]
    L. Robinson and D.L. Parnas, "A Program Holder Module", Technical Report, Carnegie-Mellon University, June 1973.Google Scholar
  5. [5]
    Robinson, L., "Design and Implementation of A Multi-Level System Using Software Modules", Technical Report, Carnegie-Mellon University, June 1973.Google Scholar
  6. [6]
    Parnas, D.L., "Information Distribution Aspects of Design Methodology", Proceedings of IFIP Congress 1971.Google Scholar
  7. [7]
    Balzer, Robert M., "Studies Concerning Minimal Time Solutions to the Firing Squad Synchronization Problem", Ph.D. Thesis, Carnegie Institute of Technology, 1966.Google Scholar
  8. [8]
    London, R., "Certification of Treesort 3", CACM, June 1970.Google Scholar
  9. [9]
    Parnas, D.L., "A Course on Software Engineering Techniques", included in the Proceedings of the ACM SIGCSE, Second Technical Symposium, March 24–25, 1972.Google Scholar
  10. [10]
    Parnas, D.L., "On the Response to Detected Errors in Hierarchically Structured Systems", Technical Report, Carnegie-Mellon University, 1972.Google Scholar
  11. [11]
    Price, W.R., "Implications of a Virtual Memory Mechanism for Implementing Protection in a Family of Operating Systems", Technical Report (Ph.D. Thesis), Carnegie-Mellon University, June 1973.Google Scholar
  12. [12]
    Parnas, D.L., Price, W.R., "The Design of the Virtual Memory Aspects of a Virtual Machine", Proceedings of the ACM SIGARCH-SIGOPS Workshop on Virtual Computer Systems, March 1973.Google Scholar
  13. [13]
    Popek, G.J. and Kline, C., "Verifiable Secure Operating Systems Software", AFIPS Conference Proceedings, 1974, NCC AFIPS Press, Montvale, N.J. U.S.A.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1975

Authors and Affiliations

  • D. L. Parnas
    • 1
  1. 1.Technische Hochschule Darmstadt Fachbereich Informatik, Betriebssysteme IDarmstadt

Personalised recommendations