Skip to main content
Top
Published in: Software and Systems Modeling 4/2012

01-10-2012 | Expert’s Voice

Aspects of abstraction in software development

Author: Michael Jackson

Published in: Software and Systems Modeling | Issue 4/2012

Log in

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Abstraction is a fundamental tool of human thought in every context. This essay briefly reviews some manifestations of abstraction in everyday life, in engineering and mathematics, and in software and system development. Vertical and horizontal abstraction are distinguished and characterised. The use of vertical abstraction in top-down and bottom-up program development is discussed, and also, the use of horizontal abstraction in one very different approach to program design. The ubiquitous use of analogical models in software is explained in terms of analytical abstractions. Some aspects of the practical use of abstraction in the development of computer-based systems are explored. The necessity of multiple abstractions is argued from the essential nature of abstraction, which by definition focuses on some concerns at the expense of discarding others. Finally, some general recommendations are offered for a consciously thoughtful use of abstraction in software development.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)MATH Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press, Cambridge (2010)MATH
2.
go back to reference Ackoff, R.L.: Scientific Method: Optimizing Applied Research Decisions. Wiley, London (1962)MATH Ackoff, R.L.: Scientific Method: Optimizing Applied Research Decisions. Wiley, London (1962)MATH
3.
go back to reference Atkinson, C., Kuehne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–360 (2008)CrossRef Atkinson, C., Kuehne, T.: Reducing accidental complexity in domain models. Softw. Syst. Model. 7(3), 345–360 (2008)CrossRef
4.
go back to reference Dahl, O.-J., Hoare, C.A.R.: Hierarchical Program Structures. In: Dahl, O.J., Dijkstra, E.W., Hoare, C.A.R. (eds.) Structured Programming. Academic Press, London (1972) Dahl, O.-J., Hoare, C.A.R.: Hierarchical Program Structures. In: Dahl, O.J., Dijkstra, E.W., Hoare, C.A.R. (eds.) Structured Programming. Academic Press, London (1972)
5.
go back to reference Dijkstra, E.W.: A case against the GO TO statement: EWD215. Commun. ACM. 11(3), 147–148 (1968). published as a letter to the EditorMathSciNetCrossRef Dijkstra, E.W.: A case against the GO TO statement: EWD215. Commun. ACM. 11(3), 147–148 (1968). published as a letter to the EditorMathSciNetCrossRef
6.
go back to reference Dijkstra, E.W.: The structure of the ‘THE’ multiprogramming system: EWD196. Commun. ACM. 11(5), 341–346 (1968)MATHCrossRef Dijkstra, E.W.: The structure of the ‘THE’ multiprogramming system: EWD196. Commun. ACM. 11(5), 341–346 (1968)MATHCrossRef
7.
go back to reference Dijkstra, E.W.: The Humble Programmer. Turing Award Lecture. Commun. ACM. 15(10), 859–866 (1972)CrossRef Dijkstra, E.W.: The Humble Programmer. Turing Award Lecture. Commun. ACM. 15(10), 859–866 (1972)CrossRef
8.
go back to reference Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, USA (1976)MATH Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, USA (1976)MATH
9.
go back to reference Dijkstra, E.W.: On the cruelty of really teaching computer science. Commun. ACM. 32(12), 1398–1414 (1989). With responses from David Parnas, W L Scherlis, M H van Emden, Jacques Cohen, R W Hamming, Richard M Karp and Terry Winograd, and a reply from Dijkstra Dijkstra, E.W.: On the cruelty of really teaching computer science. Commun. ACM. 32(12), 1398–1414 (1989). With responses from David Parnas, W L Scherlis, M H van Emden, Jacques Cohen, R W Hamming, Richard M Karp and Terry Winograd, and a reply from Dijkstra
10.
go back to reference Evans-Pritchard, E.E.: Witchcraft, Oracles and Magic among the Azande. The Clarendon Press, Oxford (1937). (Abridged with an introduction by Eva Gillies. The Clarendon Press, Oxford (1976)) Evans-Pritchard, E.E.: Witchcraft, Oracles and Magic among the Azande. The Clarendon Press, Oxford (1937). (Abridged with an introduction by Eva Gillies. The Clarendon Press, Oxford (1976))
12.
go back to reference Goguen, J.A., Burstall, R.M.: Cat, a System for the Structured Elaboration of Correct Programs from Structured Specifications: Technical Report CSL-118. Computer Science Laboratory, SRI International, USA (1980) Goguen, J.A., Burstall, R.M.: Cat, a System for the Structured Elaboration of Correct Programs from Structured Specifications: Technical Report CSL-118. Computer Science Laboratory, SRI International, USA (1980)
13.
go back to reference Gregory, R.L.: The medawar lecture 2001 lnowledge for vision: vision for knowledge. Philos. Trans. Royal Soc. B. 360, 1231–1251 (2005)CrossRef Gregory, R.L.: The medawar lecture 2001 lnowledge for vision: vision for knowledge. Philos. Trans. Royal Soc. B. 360, 1231–1251 (2005)CrossRef
14.
go back to reference Hardy, G.H.: A Mathematician’s Apology. Cambridge University Press, Cambridge (1940) Hardy, G.H.: A Mathematician’s Apology. Cambridge University Press, Cambridge (1940)
16.
go back to reference Jackson, D.: Software Abstractions: Logic, Language and Analysis. MIT Press, USA (2006) Jackson, D.: Software Abstractions: Logic, Language and Analysis. MIT Press, USA (2006)
17.
go back to reference Jackson, M.A.: Principles of Program Design. Academic Press, London (1975) Jackson, M.A.: Principles of Program Design. Academic Press, London (1975)
18.
go back to reference Jackson, M.A.: Constructive methods of program design. In: Goos, G., Hartmanis, J. (eds.) Proceedings of the 1st Conference of the European Cooperation in Informatics, p. 262. Springer, Berlin (1976) Jackson, M.A.: Constructive methods of program design. In: Goos, G., Hartmanis, J. (eds.) Proceedings of the 1st Conference of the European Cooperation in Informatics, p. 262. Springer, Berlin (1976)
19.
go back to reference Jackson, M.: Some Basic Tenets of Description. Softw. Syst. J. 1(1), 5–9 (2002)CrossRef Jackson, M.: Some Basic Tenets of Description. Softw. Syst. J. 1(1), 5–9 (2002)CrossRef
20.
go back to reference Jones, C.: Systematic Software Development Using VDM, 2nd Edition. Prentice-Hall International, USA (1990) Jones, C.: Systematic Software Development Using VDM, 2nd Edition. Prentice-Hall International, USA (1990)
21.
go back to reference Jeff, K.: Is abstraction the key to computing? Commun. ACM. 50(4), 37–42 (2007) Jeff, K.: Is abstraction the key to computing? Commun. ACM. 50(4), 37–42 (2007)
22.
go back to reference Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley Longman, Reading (1999) Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley Longman, Reading (1999)
23.
go back to reference Lakatos, I.: Proofs and refutations. In: Worrall, J., Zahar, E. (eds.) The Logic of Mathematical. Cambridge University Press, Cambridge (1976) Lakatos, I.: Proofs and refutations. In: Worrall, J., Zahar, E. (eds.) The Logic of Mathematical. Cambridge University Press, Cambridge (1976)
24.
go back to reference Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM. 15(12), 1053–1058 (1972) Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Commun. ACM. 15(12), 1053–1058 (1972)
25.
go back to reference Poincaré, H.: Science et Méthode. Flammarion, France (1908) (translated by Francis Maitland, Nelson 1914, Dover, 2003) Poincaré, H.: Science et Méthode. Flammarion, France (1908) (translated by Francis Maitland, Nelson 1914, Dover, 2003)
27.
go back to reference Turing, A.M.: Checking a large routine. In: Report on a Conference on High Speed Automatic Calculating Machines, pp. 67–69, Cambridge University Mathematical Laboratory, Cambridge, (1949). (Turing’s paper is discussed in Cliff B. Jones; The Early Search for Tractable Ways of Reasoning about Programs. IEEE Annals of the History of Computing 25(2), 26–49, 2003) Turing, A.M.: Checking a large routine. In: Report on a Conference on High Speed Automatic Calculating Machines, pp. 67–69, Cambridge University Mathematical Laboratory, Cambridge, (1949). (Turing’s paper is discussed in Cliff B. Jones; The Early Search for Tractable Ways of Reasoning about Programs. IEEE Annals of the History of Computing 25(2), 26–49, 2003)
28.
go back to reference Vincenti, W.G.: What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. The Johns Hopkins University Press, Baltimore (1993) Vincenti, W.G.: What Engineers Know and How They Know It: Analytical Studies from Aeronautical History. The Johns Hopkins University Press, Baltimore (1993)
29.
go back to reference Hermann, W.: David Hilbert and his mathematical work. Bull. Am. Math. Soc. 50, 612–654 (1944)MATHCrossRef Hermann, W.: David Hilbert and his mathematical work. Bull. Am. Math. Soc. 50, 612–654 (1944)MATHCrossRef
30.
go back to reference Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall International, USA (1996)MATH Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice-Hall International, USA (1996)MATH
31.
go back to reference Zave, P.: Calls considered harmful and other selected papers on services and visualization. In: Tiziana, M., Bernhard, S., Roland, R., Joachim, P. (eds.) Towards User-Friendly Design, LNCS 1385, p. 27. Springer, Berlin (1998) Zave, P.: Calls considered harmful and other selected papers on services and visualization. In: Tiziana, M., Bernhard, S., Roland, R., Joachim, P. (eds.) Towards User-Friendly Design, LNCS 1385, p. 27. Springer, Berlin (1998)
Metadata
Title
Aspects of abstraction in software development
Author
Michael Jackson
Publication date
01-10-2012
Publisher
Springer-Verlag
Published in
Software and Systems Modeling / Issue 4/2012
Print ISSN: 1619-1366
Electronic ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-012-0259-7

Other articles of this Issue 4/2012

Software and Systems Modeling 4/2012 Go to the issue

Expert's Voice

Looking back at UML

Premium Partner