The concept of abstraction is imprecise. It cannot possibly be defined, but the notion of abstraction can be explained, illustrated, modeled, and understood. The goal of this chapter is to discuss the different kinds of abstraction that have been proposed in mathematics and computer science and to emphasize the necessity of abstractions and difficulty of bringing out abstraction for software engineering.
KeywordsTuring Machine Data Abstraction Software Development Process Abstract Machine Abstraction Process
Unable to display preview. Download preview PDF.
- A. Church, “The Calculi of Lambda-conversion,” Annals of Mathematical Studies, Cambridge, MA, 1941.Google Scholar
- M. Jackson, “Description is Our Business,” Invited Talk, VDM’91 Formal Software Development Methods; published as S. Prehn and W.J. Toetenel (Eds.), Lecture Notes in Computer Science, Vol. 551, Springer-Verlag, Noordwijkerhout, The Netherlands, October 1991.Google Scholar
- H. Lewis and C. Papadimitriou, Elements of the Theory of Computation, Prentice-Hall, Englewood Cliffs, NJ, 1984.Google Scholar
- R. Penrose, The Emperor’s New Mind, Oxford University Press, Oxford, England, 1989.Google Scholar
- A. Turing, “On Computable Numbers, with an Application to Entscheidungsproblem,” Proceedings of the London Mathematical Society (ser. 2), Vol. 42, 1937, pp. 230–265.Google Scholar
- W.M. Turski and T. Maibaum, The Specification of Computer Programs, Addison-Wesley Publishing Company, Reading, MA, 1987.Google Scholar
- J.A. Zimmer, Abstraction for Programmers, McGraw-Hill, New York, NY, 1985.Google Scholar