Abstraction:- Abstraction allows one to concentrate on a problem at some level of generalization without regard to irrelevant low level details; use of abstraction also allows one to work with concepts and terms that are familiar in the problem environment without having to transform them to an unfamiliar structure.