Object-Oriented Knowledge-based Task Level Cell Programming Environment