A hierarchical abstraction model for software engineering
Yingxu Wang · 2008
Abstraction is a basic foundation and a powerful means in science and engineering, such as philosophy, mathematics, cognitive informatics, computing, and software engineering, because any complex inference process is based on it. A Hierarchical Abstraction Model (HAM) is presented in this paper, which elaborates the five levels of abstraction known as the analogue objects, diagrams, natural languages, professional notation systems, and mathematics. On the basis of the HAM model, main roles of abstraction in software engineering are explained, and a number of fundamental principles for software engineering practice are derived. The cognitive constraints, limitations of conventional descriptive means and modeling methodologies, as well as the need for more powerful denotational mathematics for software engineering are identified.