Skip to main content
Erschienen in: Minds and Machines 2/2011

01.05.2011

Specification

verfasst von: Raymond Turner

Erschienen in: Minds and Machines | Ausgabe 2/2011

Einloggen

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

search-config
loading …

Abstract

The specification and implementation of computational artefacts occurs throughout the discipline of computer science. Consequently, unpacking its nature should constitute one of the core areas of the philosophy of computer science. This paper presents a conceptual analysis of the central role of specification in the discipline.

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 "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!

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!

Fußnoten
1
Extreme programming, and even cowboy coding, may have very loose design strategies and no specified methodology of development, but they still have some goals.
 
2
We shall not try and be precise about the notion of a functional specification. This rough characterisation will serve our purpose. Nor shall we be concerned with the full range of practical aspects of software engineering that involve requirements capture and design methodologies. Here we shall concentrate on what we take to be the central philosophical issue.
 
3
“The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.” (Bass 2003).
 
4
Indeed, they are candidates for computer science examples of artificial kinds (Franssen 2009). There is much more that needs to be explored here, but it requires more space than we presently have.
 
5
With more complex specifications we have to work much harder. While choosing the appropriate underlying ontological setting makes it possible to make precise most aspects of a specification (Turner R, Computable Models, 2009), it is a non-trivial task.
 
6
One might suggest that ostensive definitions may be used as the basis of specification, and these may be based on physical devices. Suppose I request you to build me a stick of length one metre. Is this not to use a physical object, the stick in Paris, as the basis of a specification? Not in the sense that no abstract notion or device is involved. The length Metre is not something that changes with the length of the Paris stick. Once baptized, the length is fixed; it is the same in all possible worlds. There is clearly much more that might be said here, but it would take us too far afield.
 
7
Perhaps the artificial kinds of computer science are encoding some notion of real essence for these artefacts and thereby determine what fit for use might be taken to be.
 
8
This is not intended to be the same as the so called software/hardware distinction (Moor 1978).
 
9
Much the same is true of those object-oriented approaches to software design e.g. (Eden 2011).
 
10
Something akin to this is implicitly asserted in terms of clients and programmers, in (Morgan 1990).
 
11
…the other is to interpret rules and axioms of form (C) as empirical claims concerning the possible behaviour of the target machine thereby described… (Fetzer 1988).
… (C) is actually a prediction of what will occur when statement S is ultimately executed…It is a static prediction of its later dynamic execution (Colburn 2000).
 
12
We shall now go more deeply into the debate about the nature of explanation and its connection with causation. The main focus here is in the role of testing and verification of scientific theories.
 
13
Of course, specifications and designs do employ scientific and other knowledge; knowledge about how to construct the artefact. Often the difference is characterized as the difference between knowing how and knowing that (McCarthy 2006).
 
14
The difference between a model and a theory is controversial and not that significant for the present discussion since the central point may be phrased in terms of theories or models. Anguis (2010) contains a very clear account of this distinction as applied to program construction.
 
Literatur
Zurück zum Zitat Aho, A. S. (1985). Compilers principles, techniques and tools. Reading, Massachusetts: Addison-Wesley. Aho, A. S. (1985). Compilers principles, techniques and tools. Reading, Massachusetts: Addison-Wesley.
Zurück zum Zitat Alan, J. (1994). Natural language understanding. London: Addison Wesley. Alan, J. (1994). Natural language understanding. London: Addison Wesley.
Zurück zum Zitat Anguis, N. (2010). Abstraction and idelization in the verification of computer programs. Forthcoming. Anguis, N. (2010). Abstraction and idelization in the verification of computer programs. Forthcoming.
Zurück zum Zitat Asperti, A. (2009). Social processes, program verification and all that. Mathematical Structures in Computer Science, 19(5), 877–896.MathSciNetMATHCrossRef Asperti, A. (2009). Social processes, program verification and all that. Mathematical Structures in Computer Science, 19(5), 877–896.MathSciNetMATHCrossRef
Zurück zum Zitat Baier, C. J. (2008). Principles of model checking. Cambridge, MA.: MIT Press.MATH Baier, C. J. (2008). Principles of model checking. Cambridge, MA.: MIT Press.MATH
Zurück zum Zitat Bass, L. C. (2003). Software architecture in practice. Pittsburgh: SEI. Bass, L. C. (2003). Software architecture in practice. Pittsburgh: SEI.
Zurück zum Zitat Bengt Nordström, K. P. (1990). Programming in Martin-Löf’s type theory. Oxford: Oxford University Press.MATH Bengt Nordström, K. P. (1990). Programming in Martin-Löf’s type theory. Oxford: Oxford University Press.MATH
Zurück zum Zitat Chalmers, A. (1999). What is this thing called science. Maidenhead: Open University Press. Chalmers, A. (1999). What is this thing called science. Maidenhead: Open University Press.
Zurück zum Zitat Colburn, T. R. (2000). Philosophy and computer science. Explorations in philosophy, series. New York: M.E. Sharpe. Colburn, T. R. (2000). Philosophy and computer science. Explorations in philosophy, series. New York: M.E. Sharpe.
Zurück zum Zitat Dawes, J. (1991). The VDM-SL reference guide. London: Pitman. Dawes, J. (1991). The VDM-SL reference guide. London: Pitman.
Zurück zum Zitat De Millo, R. A., & Lipton, R. J. (1979). Social processes and proofs of theorems and programs. Communications of the ACM, 22, 271–280.MATHCrossRef De Millo, R. A., & Lipton, R. J. (1979). Social processes and proofs of theorems and programs. Communications of the ACM, 22, 271–280.MATHCrossRef
Zurück zum Zitat Diller, A. Z. (1990). An introduction to formal methods. London: Wiley.MATH Diller, A. Z. (1990). An introduction to formal methods. London: Wiley.MATH
Zurück zum Zitat Eden, A. (2011). Codecharts: Roadmaps and blueprints for object-oriented programs. Hoboken, NJ: Wiley-Blackwell. Eden, A. (2011). Codecharts: Roadmaps and blueprints for object-oriented programs. Hoboken, NJ: Wiley-Blackwell.
Zurück zum Zitat Edmund, M., & Clarke, J. O. (1999). Model checking. Boston: MIT Press. Edmund, M., & Clarke, J. O. (1999). Model checking. Boston: MIT Press.
Zurück zum Zitat Fernandez, M. (2004). Programming languages and operational semantics: An introduction. London: King’s College Publications.MATH Fernandez, M. (2004). Programming languages and operational semantics: An introduction. London: King’s College Publications.MATH
Zurück zum Zitat Fetzer, J. (1988). Program verification: The very idea. Communications of the ACM, 31(9), 1048–1063.CrossRef Fetzer, J. (1988). Program verification: The very idea. Communications of the ACM, 31(9), 1048–1063.CrossRef
Zurück zum Zitat Fuchs, N. (1992). Specifications are (preferably) executable. Software Engineering Journal, 7(5), 323–334.CrossRef Fuchs, N. (1992). Specifications are (preferably) executable. Software Engineering Journal, 7(5), 323–334.CrossRef
Zurück zum Zitat Grady Booch, J. R. (1999). The unified modeling language. Reading, Massachusetts: Adison Wesley. Grady Booch, J. R. (1999). The unified modeling language. Reading, Massachusetts: Adison Wesley.
Zurück zum Zitat Hale, B. (1987). Abstract objects. Oxford: Basil Blackwell. Hale, B. (1987). Abstract objects. Oxford: Basil Blackwell.
Zurück zum Zitat Horty, J. (2007). Frege on definitions. New York: Oxford University Press. Horty, J. (2007). Frege on definitions. New York: Oxford University Press.
Zurück zum Zitat Jacquette, D. (2002). Ontology. Chesham: Acumen Publishing Ltd. Jacquette, D. (2002). Ontology. Chesham: Acumen Publishing Ltd.
Zurück zum Zitat Jones, C. (1986). Systematic software development using VDM. Hemel Hemstead: Prentice Hall.MATH Jones, C. (1986). Systematic software development using VDM. Hemel Hemstead: Prentice Hall.MATH
Zurück zum Zitat Jones, C. (1990). Specifications are not (necessarily) harmful. Software Engineering Journal, 330–339. Jones, C. (1990). Specifications are not (necessarily) harmful. Software Engineering Journal, 330–339.
Zurück zum Zitat Kripke, S. (1982). Wittgenstein on rules and private language. Boston: Harvard University Press. Kripke, S. (1982). Wittgenstein on rules and private language. Boston: Harvard University Press.
Zurück zum Zitat Kroes, P., & Meijers, A. (Eds.). (2006). The dual nature of technical artifacts. Special issue of Studies in History and Philosophy of Science, 37, 1–158. Kroes, P., & Meijers, A. (Eds.). (2006). The dual nature of technical artifacts. Special issue of Studies in History and Philosophy of Science, 37, 1–158.
Zurück zum Zitat McCarthy, N. (2006). Philosophy in the making. Ingenia, issue 26. McCarthy, N. (2006). Philosophy in the making. Ingenia, issue 26.
Zurück zum Zitat Moor, J. (1978). Three myths of computer science. British Journal for the Philosophy of Science, 29, 213–222. Moor, J. (1978). Three myths of computer science. British Journal for the Philosophy of Science, 29, 213–222.
Zurück zum Zitat Morgan, C. (1990). Programming from specifications. London: Prentice Hall.MATH Morgan, C. (1990). Programming from specifications. London: Prentice Hall.MATH
Zurück zum Zitat O’Hearn, P. W. (2010). Abductive, inductive and deductive reasoning about resources. In csl: DBLP conference 2010. (pp. 49–50). O’Hearn, P. W. (2010). Abductive, inductive and deductive reasoning about resources. In csl: DBLP conference 2010. (pp. 49–50).
Zurück zum Zitat Pierce, B. (2002). Types and programming languages. London: The MIT Press. Pierce, B. (2002). Types and programming languages. London: The MIT Press.
Zurück zum Zitat Plotkin, G. (2004). A structural approach to operational semantics. Journal of Logic and Algebraic Programming, 60–61, 17–139.MathSciNet Plotkin, G. (2004). A structural approach to operational semantics. Journal of Logic and Algebraic Programming, 60–61, 17–139.MathSciNet
Zurück zum Zitat Potter, B. S. (1991). An introduction to formal specification and Z. New Jersey: Prentice Hall.MATH Potter, B. S. (1991). An introduction to formal specification and Z. New Jersey: Prentice Hall.MATH
Zurück zum Zitat Robinson, R. (1950). Definition. Oxford: Clarendon Press. Robinson, R. (1950). Definition. Oxford: Clarendon Press.
Zurück zum Zitat Rosenberg, A. (2000). The philosophy of science. London: Routledge. Rosenberg, A. (2000). The philosophy of science. London: Routledge.
Zurück zum Zitat Spivey, J. (1998). Understanding Z. Cambridge: Cambridge University Press. Spivey, J. (1998). Understanding Z. Cambridge: Cambridge University Press.
Zurück zum Zitat Stoy, J. (1977). Denotational semantics. Massachusetts: MIT. Stoy, J. (1977). Denotational semantics. Massachusetts: MIT.
Zurück zum Zitat Turner, R. (1991). Constructive foundations for functional languages. New York: Prentice Hall. Turner, R. (1991). Constructive foundations for functional languages. New York: Prentice Hall.
Zurück zum Zitat Turner, R. (2007). Understanding programming languages. Minds and Machines, 17(2), 129–133.CrossRef Turner, R. (2007). Understanding programming languages. Minds and Machines, 17(2), 129–133.CrossRef
Zurück zum Zitat Turner, R. (2010). Programming languages as mathematical theories. In J. Valllverdu, Thinking machines and the philosophy of computer science. IGI Global Publishers. Turner, R. (2010). Programming languages as mathematical theories. In J. Valllverdu, Thinking machines and the philosophy of computer science. IGI Global Publishers.
Zurück zum Zitat Vallverdu, J. (2010). Thinking machines and the philosophy of computer science. IGI Global. Vallverdu, J. (2010). Thinking machines and the philosophy of computer science. IGI Global.
Zurück zum Zitat Van Vliet, H. (2008). Software engineering: Principles and practice. Chichester: John Wiley. Van Vliet, H. (2008). Software engineering: Principles and practice. Chichester: John Wiley.
Zurück zum Zitat Woodcock, J. (1996). Using Z- specifications, refinement and proof. New Jersey: Prentice Hall. Woodcock, J. (1996). Using Z- specifications, refinement and proof. New Jersey: Prentice Hall.
Zurück zum Zitat Zalta, E. (1983). Abstract objects. Dordrecht, New York: D. Reidel. Zalta, E. (1983). Abstract objects. Dordrecht, New York: D. Reidel.
Metadaten
Titel
Specification
verfasst von
Raymond Turner
Publikationsdatum
01.05.2011
Verlag
Springer Netherlands
Erschienen in
Minds and Machines / Ausgabe 2/2011
Print ISSN: 0924-6495
Elektronische ISSN: 1572-8641
DOI
https://doi.org/10.1007/s11023-011-9239-x

Weitere Artikel der Ausgabe 2/2011

Minds and Machines 2/2011 Zur Ausgabe

Premium Partner