An architecture for the generation of intelligent tutoring systems from reusable components and knowledge-based systems