CS 584 - Aligning development tools with the way programmers think about code...
A HIERARCHICAL ABSTRACTION MODEL FOR SOFTWARE ENGINEERING
1. RESEARCH METHODOLOGIES
MS(SE)
PAPER 1
YINGXU WANG
A HIERARCHICAL ABSTRACTION MODEL FOR
SOFTWARE ENGINEERING
2. • The author has presented a Hierarchical
Abstract Model (HAM) and has further
elaborated it.
• The author has derived fundamental
principles of software engineering practices
and discussed the cognitive constraints for
software engineering and how they can be
solved.
3. ABSTRACT
• The author believes that abstraction plays a
major role in software engineering.
• He has presented a Hierarchical Abstract
Model (HAM) where he has elaborated five
levels of abstraction known as
analogue, objects, diagrams, natural
languages, professional notation systems and
mathematics.
4. INTRODUCTION
• The author believes that a subset of objects
sharing a common property from a set of
objects can be drawn-out using abstraction.
• He not only views abstraction as a
philosophy, but sees it playing a major role in
the entire structure of mathematics.
5. THE HEIRARCHICAL ABSTRATION
MODEL
• The author explains how abstract objects do
not exist in the real world but are reflections
of real world entities.
6.
7. CAN MICROTECH DEALS WITH THE PROBLEMS
OF NANOTECH IN SOFTWARE ENGINEERING?
• The author believes that if electronic or
mechanical engineers were asked if a microtech
yardstick could be used to measure nanotech
objects they would reply that it’s impossible.
• The usage of graphical blocks and their variations
to denote more intricate system architectures
and dynamic behaviors of software systems used
by software engineers is believed by the author
the fundamental reasons of many of the failures
in software engineering practice.
8. • The author dislikes the practice of using icons
and diagrams in software engineering because
they lie in the lower level in HAM.
• Diagrams cannot be transformed by
computers into codes.
• He explained, if a cartoon’s dialogue is erased
, different meanings will be perceived by the
drawing, which is inadequate for software
engineering.
9. • The explicit descriptivity states that only a
higher level abstract, precise, and rigorous
means is adequate to express an object at a
given level of abstraction in the HAM model.
10. THE COGNITIVE CONSTRAINTS OF
SOFTWARE ENGINEERING
• The author describes cognitive constraints for
software engineering and by using abstract
means how software engineering descriptivity
can be improved.
• The author defines the word intangibility on
the basis of software, he believes that the only
way to embody an intangible software is to
express it with formal notations and diagrams
at different levels of abstraction.
11. • He defines the word inexpressiveness and
believes that the architecture, static behaviors
and dynamic behaviors of the system need to
expressed rigorously and explicitly.
• He defines the third basic constraint inexplicit
embodiment and states that no machine may
help to extend an inadequate specification or
inadequate architectural and behavioral
design into executable code.
12. CONCLUSIONS
The author has presented a Hierarchical
Abstraction Model for explaining the need of
abstraction and suitable mathematical means
to deal with cognitive constraints of software.