Abstraction in programming uses the facilities of a given programming lan- guage to customize the abstract machine of the language, effectively construct- ing a new programming language, so that each program may be expressed in a language natural to its intended problem domain. Abstraction is a major ele- ment of software engineering strategy. This paper suggests a formal notion of abstraction, on the basis of which the relative power of support for abstraction can be investigated objectively. The theory is applied to a suite of trivial toy languages, confirming that the suggested theory orders them correctly.
Shutt, John N.
(2008). Abstractive Power Programming Languages: Formal Definition. .
Retrieved from: http://digitalcommons.wpi.edu/computerscience-pubs/43