IDEAL is a Web-based, distributed, multi-agent learning system with a three-tier architecture as shown in Figure 1 . The system ties the Web clients (for students) and the underlying information servers (for courseware and student profiles) together with the multi-agent resource management. The information and agents are supported by a distributed system consisting of workstations and storage devices connected via high-bandwidth networks. IDEAL is implemented using the prevalent technologies of the Internet, WWW, software agents, and digital libraries [17,31,32].
Several characteristics specific to asynchronous learning make multi-agent systems attractive. First, the students of a virtual class on the Internet are widely distributed, and the number of potential participants is large. This renders static and centralized systems inadequate. A distributed multi-agent system with personalized agents for each student is very attractive. Secondly, the classes are dynamic in nature. The background, knowledge, and skill of active students will change over time. The learning materials and teaching methodologies of the courses will change too. Thirdly, students have different background and personality. Teaching methodology should be tailored toward each student's interest and knowledge to make teaching and learning more effective. Furthermore, students often enroll in several courses at the same time. Coordination of learning on different topics for each student will enrich the learning experience. Finally, students tend to get together to discuss study topics and share common interests. Smooth communications, including visualizing and sharing common contexts, need to be supported. Hence, multi-agent systems have become a promising paradigm in education [3,31].
IDEAL consists of a number of specialized agents with different expertise. In IDEAL, each student is assigned a unique personal agent that manages the student's personal profile including knowledge background, learning styles, interests, courses enrolled in, etc. The personal agent talks to other agents in the system through various communication channels. An online course is supported by a collection of teaching and course agents. The course agents manage course materials and course-specific teaching techniques for a course. Multiple course agents exist on distributed sites to provide better efficiency, flexibility, and availability. The teaching agents can talk to any course agent of a course and often choose one nearby for better performance. The course agents also act as mediators for communication among students.
A teaching agent interacts with a student and serves as an intelligent tutor of a course. Each teaching agent obtains course materials and course-specific teaching techniques from a course agent and then tries to teach the materials in the most appropriate form and pace based on the background and learning style of the student. The teaching agents may adopt various cognitive skills such as natural language understanding, conversation, natural language generation, learning, and social aspects. These skills make it easier for students to interact with the teaching agents through natural forms of conversation and expression. Multimedia presentations such as graphics and animation make difficult concepts and operations easier to understand.
The basic components of a teaching agent are a domain expert module, a pedagogical module, and a student modeler. The domain expert module creates exercises and questions according to the student's background and learning status, provides solutions, and explains the concepts and solutions to remedy student's misconceptions. It contains a problem generator, a problem solver, an explanation generator, and a domain knowledge base. The pedagogical module determines the timing, style, and content of the teaching agent's interventions. It is a rule-based production system that uses the student model and pedagogical knowledge to determine the appropriate actions. The student modeler provides a model of a student based on her learning style, knowledge background, and interests. It may also incorporate the information gathered through dialogues with the student and the student's learning profile such as the actions the student performed and the explanations she asked for.