HIGH-LEVEL VS. LOW-LEVEL DESIGN : GRASPING THE ESSENTIAL VARIATIONS