A definition of abstraction.
Date
2005-07-13
Authors
Advisors
Journal Title
Journal ISSN
ISSN
1040-550X
Volume Title
Publisher
Wiley
Type
Article
Peer reviewed
Abstract
What does it mean to say that one program is "more abstract" than another? What is "abstract" about an abstract data type? What is the difference between a "high-level" program and a "low-level" program? In this paper we attempt to answer these questions by formally defining an abstraction relation between programs which matches our intuitive ideas about abstraction. The relation is based on examining the operational semantics of the programs, expressed as a set of traces (sequences of states) from a given initial state to a possible final state.
Description
Keywords
abstraction, software maintenance, transformations, refinement, transformational programming
Citation
Ward, M. (1995) A definition of abstraction. Journal of Software Maintenance: Research and Practice, 7 (6), pp. 443-450.