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

01.10.2012 | Expert’s Voice

Aspects of abstraction in software development

verfasst von: Michael Jackson

Erschienen in: Software and Systems Modeling | Ausgabe 4/2012

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

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.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

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!

Literatur
1.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat Jackson, M.A.: Principles of Program Design. Academic Press, London (1975) Jackson, M.A.: Principles of Program Design. Academic Press, London (1975)
18.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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.
Zurück zum Zitat 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)
Metadaten
Titel
Aspects of abstraction in software development
verfasst von
Michael Jackson
Publikationsdatum
01.10.2012
Verlag
Springer-Verlag
Erschienen in
Software and Systems Modeling / Ausgabe 4/2012
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-012-0259-7

Weitere Artikel der Ausgabe 4/2012

Software and Systems Modeling 4/2012 Zur Ausgabe

Premium Partner