Majority of agent based ITSs use the same approach. They implement traditional ITS modules as sets of agents. Popularity of the approach is based on the fact that each module contains functions that can be grouped in logical components. The defined agents correspond to these components. Modules may consist of various numbers of logical components. Each module can be realized as a single agent, a few agents or as a multi-agent system with its own architecture. Still, each module has some basic agents that with needed modifications are used in majority of agent based ITSs. The general set of agents to implement modules of ITS defined by Grundspenkis and Anohina (2005) is the following.
The goal of the student diagnosis module is to collect and maintain information about each learner. While part of this information is known before starting the tutoring and does not change during the tutoring process, other parts, like the knowledge level, change during the tutoring process and have to be collected by the agents of the module. Agents have to collect information about the learning process, various characteristics of the learner (emotional, cognitive and character). The following agents are used to collect information (Grundspenkis & Anohina, 2005):
- The knowledge evaluation agent that evaluates the level of the learners’ knowledge and skills. Mainly it is done based on learner’s results in the tests and problems.
- The psychological agent that collects information about the learner’s preferences, learning style and emotions during the learning process.
- The cognitive diagnosis agent determines and registers learner’s mistakes. It is also responsible for determining the causes of the learner’s mistakes. The interaction registering agent registers history of learner’s interaction with the system and follows the usage of the system’s features. For example, if a learner does not use some important features of the system, the agent may suggest using them.
Agents that build the pedagogical module have to create and modify (when needed) the curriculum, provide learning materials, generate problems and provide the feedback to the learner. All these tasks are more or less independent, thus they are assigned to separate agents and the module consists of the following agents (Grundspenkis & Anohina, 2005):
- The curriculum agent that creates, evaluates and modifies the curriculum if needed.
- One or a few teaching strategy agents that implement teaching strategies. These agents provide learning materials in each topic according to the teaching strategy. It is needed to vary teaching strategies, because learners have different learning styles. Some learners prefer to receive an example first while others prefer to read theory and only then receive an example (Bicans et al, 2011).
- The problem generation agent that generates tasks, questions and problems. In the remainder of the paper all tasks, questions and problems given to the learner to evaluate his/her knowledge will be named problems.
- The feedback agent that provides feedback to a learner after he/she has finished the problem solving. The agent is also responsible for providing hints and explanations requested by a learner.
The expert module is responsible for solving problems and tasks in the domain taught by the system. This module consists of one or more expert agents that solve problems of the learning course. Usually each expert agent is responsible for problems in one topic or of one type. The communication module can be implemented as the interface agent and/or animated pedagogical agent (Grundspenkis & Anohina, 2005). The interface agent is responsible for all tasks concerning the communication with a learner. It is responsible for the whole user interface. This agent may be responsible also for teacher’s user interface. Similarly, the animated pedagogical agent is responsible for interactions with a learner. The main difference from the interface agent is that the animated pedagogical agent is two or three dimensional animated person that uses voice, gesture and mimics to interact with the learner. Animated pedagogical agents are made to be perceived as teachers. They make the learning process more interesting to a learner. Additionally to the abovementioned tasks of the communication module, namely, displaying curriculum, providing learning materials, showing the knowledge evaluations and feedback the animated pedagogical agents accomplish one important task of the teacher – they motivate learners to study. The agent achieves it by showing systems emotions, so making the interaction with the ITS more human like. The agents of the communication module are the only agents that communicate with the learner and thus have to carry out all communication tasks. They have to present all information that has been prepared by all other agents of the system like curriculum, learning materials, problems, feedback, etc.). These agents also have to register relevant actions done by the learner and forward them to the agents of other modules that are interested in the corresponding actions. The agents also control the work of all communication devices used to interact with the learner: the user interface, keyboard, mouse as well as various specialized devices like data gloves, video cameras and other equipment of the learning environment (Grundspenkis & Anohina, 2005).
Additionally the set of agents may contain manager agents that coordinate other agents of the set. These agents may be created differently. One manager agent can be created for each module or for a whole system. Figure 12.1 depicts the described set of agents. The manager agents are not included in the set, because they can be defined differently. The described setof agents can be customized to meet the functionality of every individual ITS. Some agents can be removed from the set if the system does not need the corresponding functionality. If needed, some additional agents can be added to implement additional functionality that usually is connected with the problem domain, for example, the patient agent in the nurse
education system Ines (Hospers et al, 2003). The set of agents can be taken as a basis and modified instead of designing the multi agent system from scratch. Nevertheless, implementation of ITSs based on the described set does not eliminate all drawbacks of modular architecture. Firstly, the set of agents does not define interactions among agents. Every agent may interact with any other agent, making the complexity of the interactions grow exponentially if the number of agents grows. Secondly, direct implementation of the set of agents does not ensure openness of the system. Introduction of new functionality into the system is impossible without changing existing components. Thirdly, some agents still are large and have many tasks, reducing modularity of ITSs. Reuse of large-scale agents is complex, too, because agents have many tasks and it is unlikely that there will be two systems that will need all these tasks unchanged. At the same time direct reuse of single task is impossible too, because it is only a part of the component.
A few distributed ITS architectures that facilitate ITS design by providing agents, their tasks and interactions, exist. Majority of them modify or extend the set of agents described above. Examples of such architectures are the multi-agent architecture for distance education systems (Dorca et al, 2003), the IVET architecture (de Antonio et al, 2005), the ABITS architecture (Capuano et al, 2000), the JADE architecture (Silveira & Vicari, 2002) and the X-Genitor framework (Triantis & Pintelas, 2004). Nevertheless, they do not solve the architectural problems in the ITSs. As they are similar to the defined set of agents, they have the same problems with modularity and reuse. Some of the architectures are defined to be open, for new agents of one type. New interface agents can be added to the system to represent new learners. Examples of open architectures in this sense are X-GENITOR and JADE. These open architectures facilitate group learning and collaborative learning in ITSs. Still they are not open for new components that add new functionality to the system without changing existing code. For example, it is not possible to add new agent that is capable to generate new types of problems, but the code of existing problem generation agent has to be changed. Moreover, it has to be analysed how the changes made in the problem generation agent will affect other agents. As a consequence these architectures do not allow benefiting from one of the main advantages of agent technologies – open and distributed computing.
Additionally, existing architectures have the following drawbacks. Agents have many tasks making the development complex. Agents used in ITS are not capable to deal with problems that can be solved by multiple agents, like resolution of various conflicts. Example of such tasks is choice of appropriate learning strategies using various criteria. As a consequence, it can be concluded that known agent based ITS architectures do not take full advantage of the distributed and open nature of multi-agent systems. Thus, there is a need for distributed ITS architectures to enable full usage of all these advantages in ITS development. The remainder of the section presents holonic multi-agent architecture that tries to implement open and highly modular ITSs as well as the MIPITS system (Lavendelis & Grundspenkis, 2010), which is an agent based ITS developed using the described architecture.
- 2040 reads