Abstraction (software engineering): Difference between revisions