HIGH-LEVEL VS. LOW-LEVEL ARCHITECTURE : UNDERSTANDING THE ESSENTIAL DISTINCTIONS