Book contents
- Frontmatter
- Contents
- Preface
- 1 Introduction
- 2 Metaphor in practice
- 3 Machinery and dynamics
- 4 Abstraction and implementation
- 5 The digital abstraction
- 6 Dependency maintenance
- 7 Rule system
- 8 Planning and improvisation
- 9 Running arguments
- 10 Experiments with running arguments
- 11 Representation and indexicality
- 12 Deictic representation
- 13 Pengi
- 14 Conclusion
- Notes
- References
- Author index
- Subject index
4 - Abstraction and implementation
Published online by Cambridge University Press: 07 December 2009
- Frontmatter
- Contents
- Preface
- 1 Introduction
- 2 Metaphor in practice
- 3 Machinery and dynamics
- 4 Abstraction and implementation
- 5 The digital abstraction
- 6 Dependency maintenance
- 7 Rule system
- 8 Planning and improvisation
- 9 Running arguments
- 10 Experiments with running arguments
- 11 Representation and indexicality
- 12 Deictic representation
- 13 Pengi
- 14 Conclusion
- Notes
- References
- Author index
- Subject index
Summary
Structures of computation
All engineering disciplines employ mathematics to represent the physical artifacts they create. The discipline of computing, however, has a distinctive understanding of the role of mathematics in design. Mathematical models can provide a civil engineer with some grounds for confidence that a bridge will stand while the structure is still on paper, but the bridge itself only approximates the math. The computer, by contrast, conforms precisely to a mathematically defined relationship between its inputs and its outputs. Moreover, a civil engineer is intricately constrained by the laws of physics: only certain structures will stand up, and it is far from obvious exactly which ones. The computer engineer, by contrast, can be assured of realizing any mathematical structure at all, as long as it is finite and enough money can be raised to purchase the necessary circuits.
The key to this remarkable state of affairs is the digital abstraction: the discrete 0s and 1s out of which computational structures are built. This chapter and the next will describe the digital abstraction and its elaborate and subtle practical logic in the history of computer engineering and cognitive science. The digital abstraction is the technical basis for the larger distinction in computer work between abstraction (the functional definition of artifacts) and implementation (their actual physical construction). Abstraction and implementation are defined reciprocally: an abstraction is abstracted from particular implementations and an implementation is an implementation of a particular abstraction. This relationship is asymmetrical: a designer can specify an abstraction in complete detail without making any commitments about its implementation. The relationship is confined to the boundaries of the computer; it does not depend on anything in the outside world.
- Type
- Chapter
- Information
- Computation and Human Experience , pp. 66 - 88Publisher: Cambridge University PressPrint publication year: 1997