Skip to main content

The Secret History of Information Hiding

  • Chapter
  • First Online:
Software Pioneers

Abstract

The concept of “information-hiding” as a software design principle is widely accepted in academic circles. Many successful designs can be seen as successful applications of abstraction or information hiding. On the other hand, most industrial software developers do not apply the idea and many consider it unrealistic. This paper describes how the idea developed, discusses difficulties in its application, and speculates on why it has not been completely successful.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bartussek, W.,Parnas, D.L., “Using Assertions About Traces to Write Abstract Specifications for Software Modules”, UNC Report No. TR77–012, December 1977; Lecture Notes in Computer Science (65), Information Systems Methodology, Proceedings ICS, Venice, 1978, Springer Verlag, pp. 211–236. Also in Software Specification Techniques edited by N. Gehani & A.D. McGettrick, AT&T Bell Telephone Laboratories, 1985, pp. 111–130 (QA 76.6 S6437). Reprinted as Chapter 1 in item.

    Google Scholar 

  2. Britton, K.H., Parker, R.A., Parnas, D.L., “A Procedure for Designing Abstract Interfaces for Device Interface Modules”, Proceedings of the 5th International Conference on Software Engineering, 1981.

    Google Scholar 

  3. Dahl, Ol.-J., Nygaard, K., “SIMULA-An Algol-based Simulation Language”, Communications of the ACM, vol. 9, no. 9, pp. 671–678,1966.

    Article  Google Scholar 

  4. Dahl, O-J., et al., “The Simula 67 Common Base Language”, 1970, Norwegian Computing Centre, publication S22.

    Google Scholar 

  5. Dijkstra, E.W., “The Structure of the THE Multiprogramming System”, Communications of the ACM, vol. 11, no. 5, May 1968.

    Google Scholar 

  6. Goldberg, A., “Smalltalk-80: The Interactive Programming Environment”, Addison-Wesley, 1984.

    MATH  Google Scholar 

  7. Hoffman, D.M., Weiss, D.M. (eds.), “Software Fundamentals: Collected Papers by David L. Parnas”, Addison-Wesley, 2001, ISBN 0–201-70369–6.

    Google Scholar 

  8. Parnas, D.L., “Information Distributions Aspects of Design Methodology”, Proceedings of IFIP Congress ’71, 1971, Booklet TA-3, pp. 26–30.

    Google Scholar 

  9. Parnas, D.L., “A Technique for Software Module Specification with Examples”, Communications of the ACM, vol. 15, no. 5, pp. 330–336, 1972;

    Article  Google Scholar 

  10. Republished in Yourdon, E.N. (ed.), Writings of the Revolution, Yourdon Press, 1982, pp. 5–18:

    Google Scholar 

  11. in Gehani, N., McGettrick, A.D. (eds.), Software Specification Techniques, AT&T Bell Telephone Laboratories (QA 76.7 S6437), 1985, pp. 75–88.

    Google Scholar 

  12. Parnas, D.L., “On the Criteria to be Used in Decomposing Systems into Modules”,Communications of the ACM, vol. 15, no. 12, pp. 1053–1058, 1972;

    Article  Google Scholar 

  13. Republished in Laplante P. (ed.), Great Papers in Computer Science, West Publishing Co,Minneapolis/St. Paul, 1996, pp. 433–441.

    Google Scholar 

  14. Translated into Japanese-BIT, vol. 14, no. 3, pp. 54–60,1982.

    Google Scholar 

  15. Republished in Yourdon, E.N. (ed.), Classics in Software Engineering, Yourdon Press, 1979, pp. 141–150.Reprinted as Chapter 7 in item [7].

    Google Scholar 

  16. Parnas, D.L., “A Course on Software Engineering Techniques”, in Proceedings of the ACM SICCSE, Second Technical Symposium, 24–25 March 1972, pp. 1–6.

    Google Scholar 

  17. Parnas, D.L., “Some Conclusions from an Experiment in Software Engineering Techniques”, Proceedings of the 1972 FJCC, 41, Part I, pp. 325–330.

    Google Scholar 

  18. Parnas, D.L., “On a ‘Buzzword’: Hierarchical Structure”, IFIP Congress ‘74, North-Holland, 1974, pp. 336–339.Reprinted as Chapter 8 in item [7].

    Google Scholar 

  19. Parnas, D.L., “Use of Abstract Interfaces in the Development of Software for Embedded Computer Systems”, NRL Report No. 8047, June 1977;

    Book  Google Scholar 

  20. Reprinted in Infotech State of the Art Report, Structured System Development, Infotech International, 1979.

    Google Scholar 

  21. Parnas D.L., “Designing Software for Ease of Extension and Contraction”, IEEE Transactions on Software Engineering, Vol. SE-5 No. 2, pp. 128–138, March 1979;In Proceedings of the Third International Conference on Software Engineering, May 1978, pp. 264–277.

    Article  Google Scholar 

  22. Parnas, D.L., Clements, P.C., Weiss, D.M., “The Modular Structure of Complex Systems”, IEEE Transactions on Software Engineering, Vol. SE-11 No. 3, pp. 259–266, 1985;In Proceedings of 7th International Conference on Software Engineering, March 1984, 408–417;

    Article  Google Scholar 

  23. Reprinted in Peterson, G.E. (ed.), IEEE Tutorial: “Object-Oriented Computing”, Vol. 2: Implementations, IEEE Computer Society Press, IEEE Catalog Number EH0264–2, ISBN 0–8186-4822–8, 1987, pp. 162–169;Reprinted as Chapter 16 in item [7].

    Google Scholar 

  24. Parker, R.A., Heninger, K.L., Parnas, D.L., Shore, J.E., “Abstract Interface Specifications for the A-7E Device Interface Modules”, NRL Report 4385, November 1980.

    Google Scholar 

  25. Parnas D.L., Wang, Y., “Simulating the Behaviour of Software Modules by Trace Rewriting Systems”, IEEE Transactions of Software Engineering, Vol. 19, No. 10, pp. 750 - 759, 1994.

    Google Scholar 

  26. Roubine, O., Robinson, L., “Special Reference Manual” Technical Report CSL-45, Computer Science Laboratory, Stanford Research Institute, August 1976.

    Google Scholar 

  27. Robinson, L., Levitt K.N., Neumann P.G., Saxena, A.R., “A Formal Methodology for the Design of Operating System Software”, in Yeh, R. (ed.), Current Trends in Programming Methodology I, Prentice-Hall, 1977, pp. 61–110.

    Google Scholar 

  28. Robinson, L., Levitt K.N., “Proof Techniques for Hierarchically Structured Programs”,Communications of the ACM, Vol. 20, No. 4, pp. 271–283,1977.

    Article  MathSciNet  Google Scholar 

  29. Robinson, L., Levitt K.N., Silverberg, B.A., “The (HDM) Handbook”, Computer Science Laboratory, SRI International, June 1979.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Parnas, D.L. (2002). The Secret History of Information Hiding. In: Broy, M., Denert, E. (eds) Software Pioneers. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-59412-0_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-59412-0_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-63970-8

  • Online ISBN: 978-3-642-59412-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics