A definition of abstraction.

Date

2005-07-13

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.

Rights

Research Institute