Agent-Based Approach for E-Learning

There have been significant developments in the development of computing and communication technology. Classical teaching methods are very slow and students are obliged to be present at specific times, which may be inconvenient for the majority of learners. Thus, so-called Elearning emerged via the Internet, whose aims are to reduce the time required to learn, as well as mitigate some drawbacks of traditional education. In E-learning, learners are free to choose when they wish to learn and determine their own personal schedules. Another important is how to adapt course content to the intellectual and social characteristics of learners and their individual backgrounds, which is one of the main tasks of online educational systems. The technology of our multiagent system is relevant in this area

INTRODUCTION Today, the busy lifestyle faced by many individuals may lead to their inability to participate in the educational process. Classical education methods are often very slow and students are obliged to participate in a specific place and time that may not be convenient for the majority of learners. Moreover, the substantial funds allocated to the traditional learning process represent another disadvantage.
There have also been important technological developments, especially in the areas of computing and communication technology. All of these factors have resulted in a reduction of time and increased benefit for technology, particularly in the field of education. Thus, E-learning via the Internet [3] has emerged as an important means of delivering educational services. The primary aim of this new mode of learning across the network (web) is to reduce the time of the learning process, as well as to minimize the drawbacks of the classical way of providing an education. Therefore, in E-learning, learners are not forced to be present at specific times. Instead, they are free to choose the time of learning activities which are most appropriate to their schedule.
The large amount of information in online educational learning systems can sometimes make learners feel lost or isolated. Therefore, our aim is to intelligently guide learners during the learning process.
The intellectual and social characteristics, as well as the learning styles of individuals, can be very different. These differences lead persons to adapt the content of courses to the backgrounds (previous knowledge) of their learners in order to meet their diversity and individual needs. Consequently, the course must take the learner profile into account (preferences, background …etc) [9].
The modeling phase of an educational system requires multiple disciplines that must converge towards a single objective, which is the transmission of knowledge to an individual (learner). The modeling of a learning system uses a complex set of processes that are sometimes difficult to combine in a coherent manner. Multi-agent systems are relevant to these problems because they possess characteristics that can improve the structure of the transmission of knowledge. We use the paradigm "Agent" in our system to benefit from the strong points of this paradigm such as: modularity, autonomy, flexibility…etc [1].
Our main goal is to model an educational adaptive system using a multiagent system. The most important point in our system is to guide the learner during his training and ensure that the learner is always motivated [4].
In our paper, we have developed a platform that ensures effective guidance of the learner during training. We use the profile of the learner as well as tests and questions asked by the learner to launch a procedure of adaptation. Our architecture uses all agents who are able to cooperate [5] among themselves to reach a structured guidance of the learner. For this, we consider the following points: • Multi-agent technology (like the idea used in [6]); • Adaptation of the course according to the profile of the learner; • The use of pre-requisites (the concepts required before starting the course); • The use of the decisions of the human teacher by the software tutor; • The questions of the learners; • The importance of tests in guiding learners; • The use of a software tutor to help a human tutor.

A. Learner model
The system uses this learner model to adapt the content according to the information stored in the profile. From this model, the system may have knowledge about everything that is related to the learner (the state of advancement, information identifying the learner, the learner level, preferable language, test results, preferences… etc).
We use the paradigm "overlay model [2]" to model learner knowledge. The principle of this model is to associate with each concept (course in our case) an estimated value of the learner's knowledge of the course content. This estimate may be a binary value (0.1) or qualitative measure (weak, average, good, very good, etc ....). If the value is "good" then we write (C1, good), meaning that knowledge of the learner about the course C1 is good [2].
In our case, the values are numerical values and variables (1, 2, 3, 4, etc ....). These values are defined by the administrator of the platform. For each fragment we associate a value e.g : (fragment of course, value). The fragment is an element of the course, which must have a basic goal and be well-defined. When we write (f1c1, 0): it means the level of the learner is 0 for the first fragment of the first course. At first, all the learners have the value 0 for all the courses.

B. Domain Model
The domain model is one of the constituents of system, identifying what is going to be taught [7]. It contains all the elements to be taught; the model of the domain is defined by an expert of this domain (the teacher for example). The model must be well structured. In our system, the domain model is as follows: • Module : the domain model is a set of modules.
• Chapter: the set of chapters forms a module.
• Course: a chapter is a set of courses.
• Fragment: a course is a set of fragments. These fragment must have elementary aim (is not vast or general).
Remark: For every course, we have to define a set of "prerequisites" which are necessary concepts before beginning the reading of the course and help the learners better be involved in the course.

III. THE PROPOSED ARCHITECTURE
In E-learning platforms, learners often suffer from the feeling of isolation that reduces learner motivation. When learners fail tests (or do not understand a course), they lose the motivation to continue their training. Therefore, our main objective is to guide learners and to keep them motivated during their training.

A. Description of the high level architecture
The modular aspect of the architecture can be planned using an agent approach. For this, we collect agents that have similar functions in a subsystem (part): the Learner, Teacher, Adaptation and Course subsystems, as well as the Coordination, Pedagogical and Administration subsystems.

B. General architecture of the proposed model
The architecture contains different agents that cooperate among themselves to guide the learner in a structured manner during the training process (this idea of using agents in E-learning is used in [8]).
Our system is based on the model presented above, it has an architecture-oriented multi-agent system consisting of ten agents: • The Teacher agent, Tutor agent and Question agent form the "teacher subsystem". • The Learner agent and Interface Learner agent comprise the "learner subsystem". • The Adaptation agent and Course agent make up the "adaptation and course subsystem". • The Administration agent it also the "administration subsystem". • The Supervisor agent and Test agent form the "Coordination and Pedagogical subsystem", which is located between the previous subsystems.
The scheme in figure 2 shows the various agents of the architecture of our education system and the communications between these agents:

A. Learner Interface Agent
This agent represents the system's learner interface, to which several tasks are attributed: • It checks the authorization of the learner connection, decides if this learner is already subscribed or not, and verifies the password.  • It provides the learner the subscription form in our platform. • It carries out the verification of the information given by a new learner. • It is responsible for sending necessary information for the subscription towards the Learner Agent, which creates a learner profiles.

B. Learner Agent (LA)
The main role of this agent is to manage learner profiles. This agent allows the subscription of new learners. It saves all the students (level, tests results …etc). The agent has the following roles: • It assists the Supervisor Agent to change the information concerning the learner level and knowledge about the courses. • The LIA requests learner preferences that are saved in the profile. This agent sends the learner preferences to the LIA to satisfy the maximum preferences. • It assists the LIA and the Supervisor Agent to store information concerning the learner activities and student information (test results, questions, password ... etc). • It is responsible for creating new learner profiles (registration of learners). • When the student logs off or makes a transition to another subsystem, the agent saves the stopping point of the learner in the course.

C. Teacher Agent (TA)
This Agent displays everything that is oriented to the human teacher (home page, announcements of registration, students questions, the results of learners … etc). It allows new teachers to subscribe and identifies teachers already subscribed. The roles assigned to this agent as follows: • It checks the authorization of the teacher connection by the verification of password and ID. • It displays the system messages to the teacher.
• It displays an area for changing or adding courses content or activities. • It provides the teacher registration forms.
• It manages the teacher database (profile), i.e. it creates, saves, or changes profiles.

D. Tutor Agent (TTA)
It is the teacher software in our system. It is responsible for following students during their training receiving questions from learners and detecting (from the results of learners or questions) the cases where it is necessary to make an adaptation.
• It receives questions of students through the Supervisor Agent and sends them to the Question Agent. • It demands the intervention of the human teacher in case of failure (if there is no response at the database or if it can not provide a solution for a learner who fails a test). • It follows the training of the student, course by course and test by test. • It informs the student about the date of the tests.

• It receives a request (by the Supervisor Agent) by
sending what the learner is going to do (the next activity). • If the learner fails, then the agent decides the type of necessary adaptation (adaptation of prerequisites, content, additional activities or adapting learning style) • It receives all the messages of the human teacher (answers questions, edit or add a course, Decision, tests ... etc) through the Teacher Agent. • It alerts the Adaptation Agent of its decision to adapt or modify the content. • It alerts the Test Agent by changing or providing addition of tests.
The tutor database contains the organization of modules, chapters, courses, and their parts (as summary), meaning the number and name of modules, chapters and their dates and periods. The tutor database contains test dates. It also contains the prerequisites for every course and the necessary rules to make a decision to adapt.
When learners want to continue their training, the Supervisor Agent receives a demand from the LIA and sends this demand to the TTA that is going to answer by sending the number of course plus the number of the part or the date of a test or the period of questions.
It receives the results of tests and makes a decision about whether the learner passes to the following course or fails. If a student fails, it then analyses where an adaptation should be made. The learner must have an average more or equal 10 (50 %) to succeed (pass to the next course. If the learner gets less than 10 (50 %) the Tutor Agent makes a decision to adapt the course (horizontal adaptation: easier and well explained version of the course which contains some additional details), or adaptation of learning styles (the visual learner, the auditory learner, the active learner, the reflective learner). This adaptation is at the same level than its horizontal adaptation (M is the learner average in a level N): • If the average (M> = 50%), students pass to the next level and the system congratulates and encourages them to continue. • If the average is (40% <M <50%), we keep the same course but we use additional prerequisites and activities (quizzes, tests, exercise… etc). The system congratulates the students for their efforts but they must try again. • If the average (30% <M <40%), then (E2): students must return to the pre-requisites and other additional prerequisites, using more audio and video resources (leaning style, visual learners and auditory learners) with the encouragement to work more for the success. • If the average (30% <M <20%), then (E3): the contents and prerequisite knowledge must be adapted. We also use the strategy of "active learning" by sending emails to other students or contact the forum to obtain knowledge through collaborative effort (one helps the other and vise versa) • If the average (M <20%), then (E4): the system displays a questionnaire to uncover the weak points of the system. We also adapt the content and employ and active style.
o In each case of the previous cases, the Tutor Agent notifies the Adaptation Agent that from that moment on, it must always use this style and adapted course presentation. o In different levels (N = 0, 1, 2 ... etc.). The course is in XML so the adaptation of content (Vertical adaptation) is automatic. For example, Level 0 has fewer concepts (fragments) than Level 1, and so on. At the same level we add explanations of the same concepts, but at different levels we add new concepts.

Remarks:
N i : The level "i" of the learner about a course (vertical level): i=0, 1, 2,…etc. is a variable which is defined by the administrator qt the beginning of the training. E j : j=1, 2, 3, 4; level "j" of details and explanation (horizontal level) for a vertical level (N i ).
The horizontal adaptation is made in cases where the learner has failed and the vertical adaptation is made when the student succeeds (passes to the next level N). In Ni (level i): learners may pass by {E1, E2, E3, E4} or they can pass directly to N The human tutor can also intervene to determine the type of adaptation or give personal advice, for example: reading a book reference site, article… etc, Modify a course or prerequisite using the interface "Teacher Agent". This advice is used by the software tutor in the similar cases.

E.
Question Agent (QA) It is responsible for managing the question database. The agent is seeking the answers for the questions of the students and it saves the new questions with their answers.
• It responds to the request of the Tutor Agent to search for an answer to a question asked by the learner. • It is the responsible for responding to the request of the Tutor Agent to save an answer to a question (the answer of the human teacher). • It manages other types of questions. These are questions predefined by the author or asked by previous learners.

F. Content Agent (CA)
This agent reactive (action: demand fragment, reaction: send wanted fragment). It is responsible for administering the content database (course fragments).
The content database contains all the fragments of the courses and all the prerequisites of each course.
Fragment (0 , 1 , 1, 1 , 1): this fragment is for the learner of level 0, which is fragment 1 of the first course, first chapter and first module.
Prerequisite (0 , 1 , 1, 1 , 1): prerequisite for the learner of level 0. This represents prerequisite 1 of the first course and the first chapter and the first module.
The function of this agent carries out the following tasks: • It receives a demand for a fragment from the course from the Supervisor Agent. It answers by sending the concerned fragment. • In case of adaptation, this agent is informed by the Adaptation Agent that this learner; henceforth, will use the adapted fragments. • In case a learner that has an adapted the course for him, this agent sends the adapted fragment instead of sending the original one.

G. Adaptation Agent (AdapA)
It is charged with adapting the courses following a demand from the Tutor Agent and to receive the identification of the learner concerned with the adaptation as well as the type of adaptation (content, strategy, activity, personal advice …etc.).
• If a learner fails or there are several questions about the same course, then a process of adaptation of this course and its prerequisites is launched by the TTA. So, the AdapA seeks another version of the course with additional explanations and for additional prerequisites. If the Supervisor Agent asks for the fragment of a course for this learner, then the Content Agent is going to use this adapted course and its additional prerequisites. • If the Adaptation Agent does not find the other versions, it informs the TTA which sends another version towards the TA. The TTA receives the new version and it sends it towards the Adaptation Agent which, saves it in the Content Database. • This agent informs the Content Agent of any course adaptation to take it into account.

H. Test Agent (TestA)
It works due to demands of the Supervisor agent who receives a demand from the TTA.
• It prepares tests for the learners, makes the evaluation of these tests and sends the results. • It sends tests towards the LIA to display them to the learner. • It makes a global evaluation (module and training)and sends the results obtained towards the Supervisor Agent.

I. Supervisor Agent (SupA)
This agent is considered the core of the subsystem coordination and of the system, in general, as it connects the agents of the various subsystems of the system. It is considered also as a point of contact between modules (intermediary). It receives messages (demands or answers of demands) from agents of a module i and it sends these messages to the agents of the module j.

J. Administrator Agent (AdmA)
This agent presents an interface between the training platform and the administrator. It allows the administrator to control all that concerns the training (add of new learners, new teachers and new formation, and deletes students, teachers, etc,). http://www.i-jet.org  VI. IMPLEMENTATION For the implementation of our system, we used the environment Jbuilder X of the Java programming language. Because our platform is based on agents, it is necessary to use a specific set of environments for the construction of these agents. We used in our implementation platform JADE (Java Agent Development framework) that facilitates the development of multi-agent systems.
In our prototype, the main Interface is the learner interface (Learner Interface Agent): To log in, just simply click on the option "Subscribe" so that new fields appear in the area of work.
When a session is opened successfully, the learner may enter a training session (read course,do test, .... Etc)