An Automatic Updating Process to Control The E-Learning Courseware

— updating courses in e-learning systems is considered one of the main factors to ensure a relevant educational content. Basically, providing to the learner a dynamic learning path that contains the latest trends of information and software tools, and also tracking technological development. For this reason, we proposed an automatic mechanism that facilitates the integration of the latest updates in e-learning system in order to keep it to date in one hand, and reduces time and labor devoted for this operation in the other hand. To realize this process, we opted to use intelligent agent technology in order to manage these updates. Namely, Updater Agent (UA) ensuring their introduction in the courseware, and Search Content Agent (SCA) which looks for new ones. In this article, we focused on the contents’ integration process by describing the behavior of UA. Then, we will explain life cycle of course, in order to show its different states in the system, and the role of each one to reach the performance of our updating process. Finally, we will describe the software implementation of the UA allowing the management of updates. Namely, tests and experimentation done in this field proved the effectiveness of the proposed solution and revealed a positive results in term of learning process.


I. INTRODUCTION
Due to the growth of new technology of information and communications, and their integration into the training, several distance learning environments, have emerged and the orientation towards e-learning has become essential. Elearning is an interactive intelligent system to carry out distance education. It allows students to learn in anywhere at any time, by providing different sort of support format (web page, video, interactive courses…), also it provides automatic feedback to learners' learning activities [1]. The success of this kind of systems is due to the variety of the proposed services. Especially with the advent of adaptive learning systems, which are personalization environments of teaching process [2]. It presents course material adapted to the learners' cognitive abilities, and customizes their learning path according to their needs and preferences [3]. However, the rapid increase of information on the web. Namely, the emergence of new advances and deciplines and the appearance of new tools, technology and methodologies have created a problem of information overload, such that internet users are unable to find the relevant information they require [4]. This situation imposes to e-learning system to suit this evolution in order to integrate the latest updates.
In fact, to remain fresh and relevant, online courses need to be continually revised and improved. Thereby, updating them presents rich opportunities to integrate the latest thinking in given disciplines and to incorporate new methodologies for teaching and learning [5]. Also intuitively, learners prefer to access recent good-quality educational material than poor one, and that helps them to have better understanding of these contents materials [6]. To attain that, the system must keep up to date with the latest advances in rapidly changing fields, and collaborate intensively with authors and system developers, so that they can keep to date the courseware in a timely way [7].
In fact, despite the advantages of easiness of use and access to the knowledge in e-learning system. The lack of updates courses is one of the major problems that can block learners. In term of content, students will be demotivated in face of an old course version, including content using outdated tools and containing non-updated information [8]. And in term of design and technologies, the system will disappear quickly, because in general, the web sites have a high rate of birth and death in the cyberspace. And those that are not revised frequently quickly lose their audiences [9]. Also, the lack of reconstruction of course material, namely inconsistencies between its sections, prevents understanding of some concepts, and then the failure of learner's test validation. All of these factors can push learners to lose confidence and question the quality of contents provided by the e-learning system, and then they can easily leave the proposed courseware.
In e-learning systems, the institutional designer performs the tasks such as, authentication, monitoring the students' sessions, editing and updating learning material, and track the learners' training, based on their feedback. But given the diversity and multitude of educational resources, he cannot update all of them easily. Especially, in looking for course that requires updating. Also, this operation can take a lot of time and effort and sometimes it can stop the teaching service, and interrupt learning process.
The increase of the number of distance education systems brought to the emergence of several problems, such as adaptation of learning path, and inconsistencies of educational materials compared to the learners abilities [10]. For this reason, it is essential to take into account the constraints of technology and resources. The objective of the majority of the proposed systems was to attain a better combination of methods and e-learning materials to suit the specific learner's needs especially in enabling distance learners to plan and dynamically regulate their personalized learning time [11]. For example, Elouahbi, Bouzidi, Abghouch and Nassir revealed an approach based on the SmartGraph to customize the educational path according to each learner needs, it is an educational content model according to the variety of learner needs [12]. The proposed SmartGraph is a graph where nodes represent learning units and the arcs represent the educational constraints between units. However, Pandey, Sahu, Tyagi and Dwivedi proposed an e-learning system model based on the autonomy of intelligent agents to detect learning style and learner's preferences, in order to design the most performing educational path adapted to their requirements [13]. Also, the research of Daomin revealed MAELITS platform which describes a combination of multi intelligent agents, in order to solve the problem of incompatibility between the teaching resources difficulties and learner's cognitive abilities. In this combination, four types of agents were proposed to work together. Namely, the first agent saves the preferences and personal information, the second follows the students' activities and the others assist and guide the learner to adapt his learning environment [14]. Bhaskaran and Swaminathan proposed an adaptive system against intermittent connections during learning. The system uses three types of agents: the first one is in continuous interaction with the student to get the maximum information (learning style, preferences), the second agent classifies the learners by their score obtained in tests, and the third one ensures updates and saves the changes both in the local and server' version of the system [15]. Thus Viet and Si proposed an adaptive system named ACG that is based also on intelligent agents in order to create an adaptive learning path for each learner according to his learning styles, his abilities and the result of the test assessment [16]. Also, Dung and Florea identified personalized architecture of multi-agent e-learning system. In order to provide to the learner personal assistant, in order to accomplish their learning activities according to their preferences, learning style and level knowledge [17].
Some research focused on the quality of curriculum of elearning system. They identified eight criteria to ensure good quality of e-learning courses, namely instructional design, web development, publishing, usability and accessibility, maintenance, copyright, the impact of the infrastructure, and content [18]. Also content's quality can be ensured by developing an e-book model that can be prepared and updated easily. The main objective was to reduce in the one hand the instructors and content developers, and on the other hand to minimize time and labor [19]. However some research was oriented to the XML technology, in order to facilitate the assistance of learners and the development of validation tests in e-learning system [20]. Also, XML technology was used to standardize the format of the tests between the LMS, the objective was to ensure the portability of files, namely facilitating the exchange of content between Moodle and Chamilo for [21].
The objective of some researches was to reduce learners' blocking, by ensuring a personalized learning path, especially focusing on the adaptation problems. They tried to detect anomalies occurring during communication between learner profile and course content. However, content can also block learners, if it was not regularly revised. In general learners prefer the new course, thus some student like study in the former one, to learn more about it. So courseware needs a careful elaboration of many scenarios that frequently occur in practice, and designing the system to support such scenarios. That's why we chose to broach this type of anomaly, given the essential role of courses' quality and preferences' students in learning path.
The intention of this research is to develop an intelligent learning system that ensures a good quality of courseware, by: • Integrating new contents, methodologies and advances.
• Keeping the former content in order to provide to learner to choose the more appropriate one to his preferences and as not disturb him during his learning. • Reducing time and labor devoted for the updating process.

II. METHOD AND ALGORITHM
A. Model of e-learning system for updating courses materials 1) Software updates In general, an update is used to improve the performance, efficiency or delivery of a service, and sometimes to correct anomalies in a particular product. For example, in the field of computer sciences, a software program must evolve, not only to propose bug fixes or new features, but also because the environment on which it is installed moves. At the beginning, the operation of updating was difficult. Namely, computer programs have been distributed to users to be installed on their computer systems. Once new versions were developed, new CD are delivered to them in order to install updates' programs on their computer [22]. After that, some programs have begun to be downloadable from the network by identifying new versions of its corresponding program [23]- [24]. Downloading from remote computer produces some security problems. That is why some researchers have been oriented to assess the security of the recorded updates and evaluate its vulnerability [25]. Nowadays, due to the evolution of technology and information, updating process has been developed quickly. The software programs became very smart, it searches its updates remotely and brings them automatically to user. Also, it takes an interest to users' needs by ensuring high level of computer security [26].
Our contribution consist on conceiving an automatic updating system of e-learning courses. To realize that, we have inspired from the software updates process. It is ensured automatically by bringing the latest updates remotely to user. The objective is to look for the latest updates of educational contents, and bring the relevant onces. The major problem in our case resides in the diversity of recorded contents and differents versions of one course. That is why, the proposed solution provides a set of composants that facilitates the search of the most important educational resources and selects the most relevant ones.
2) The updating model An e-learning course should be revised and updated in order to ensure a better quality of training either in term of content or in design [27]. To achieve that, we opted to use intelligent agent in order to integrate the latest courses automatically. Intelligent agent is an entity that can be viewed as perceiving its environment through sensors and acting upon that environment through effectors [28].We used two sort of agents, Updater Agent (UA) to ensure updating process locally, and Search Content Agent to search the latest trends of information, methodologies and technology in the internet, as shown in the following figure Fig. 1. The proposed system is composed of: • Database: containing all courses and learning resources of e-learning system. • Updates.xml: is a XML file containing a description of courses' updates • Updater agent (UA): Once revised courses are ready, the institutional designer inserts them into the elearning platefrom. The role of UA is detecting the educational content that need to be updated by inserting updates into the curriculum gradually as not to disturb learning process and spoil learners' concentration. • Abnormalities.xml: contains a description of courses marked as abnormalities by the UA. The results of this research may reveal a variety of contents materials in different format. • Authors Committee: To provide a good quality of elearning content, the authors' committee wich is composed of a set of professors and specialists, asses and judges the quality of information and contents recorded by the SCA. Their role consists on cheking, editing differents format (ppt, video, web page…) and creating new ones.

B. Description of update process
Looking for courses updates must consider several criteria, such as the edition date of the content, organization and consistency between its sections and the quality of tools and technologies used in it [29]. That is why, we opted to conceive UA that detects the non-revised contents and ensures its updating locally through updates.xml file.

1) Structure of updates.xml file
To achieve the updating process, we need to store updates in such file that must be structured and accessible.
• Structured: to organize information to be readable and understandable. • Accessible: to be accessed by the UA in order to incorporate its content, into the educational resource's database. What's more accessible and structured than XML file? In other words, it can be used as a small database storing the latest updates of courses.
XML is a description language for describing and structuring a set of data according to a set of rules and constraints defined. It can be considered as a database. Namely, it is self-descriptive because the tags describes the structure and the type and name of data, also it is portable, encoded in Unicode, as it can describe data in the tree or graph form.
The updates.xml must contain a description of relevant parameters characterizing course as shown in the following figure Fig. 2. Fig. 2 The tree structure of updates.xml As we can see in the above graph, the training is composed of several courses materials. Each contenct material is characterized by a set of elements that administrator must introduce it in the XML file: • Name: course' material name.
• Author: name of author who edited the course.
• Publishing date: last update or publishing date of course. • Format: contains a set of materials content format (video, text (PDF), web page (HTML), presentation (ppt) ...). • Update_period: after the integration of updates in learning program, and to avoid burdening the file. We define this element, which represents such a validity period of materials courses. Once this period is achieved, the system resets its information in updates.xml, in order to signal to the system to look for a new updates. However the second part of information (consultation_rate, feedback) will be filled by UA afterwards. It controls the behavior of learners towards the new course. Namely, after inserting it in the training, it saves their feedback about its structure and its organization; also it recorded its consultation rate in a given period.

2) Updater agent
In order to understand the update process, we propose the following diagram Fig. 3 that describes the behavior of UA.
The UA browses educational content, and checks for each course if there are corresponding updates stored in updates.xml. If they are available, the agent compares the description of two courses: • If they are in the same version, this means that the course is already updated. • Else if content stored in updates.xml is recent than the one of database, the UA introduces it in the system, in order to be integrated in educational curriculum. In the case of an absence of corresponding updates, the UA considers this course as an abnormality, and saves its information in anomalies.xml, in order to signal the system to look for its updates.

3) Course life cycle
The educational content may have different states, since its creation to his destruction. So as we can see, its life cycle depends on the quality and the ability to meet the preferences of learners. That is why, the system must manage courses in terms of their states, as shown in the following figure Fig. 4. Once created, the new course will be introduced into the system through the updates.xml file. It is in a state of waiting because it is not yet integrated into the pedagogical path of learners. During the updating process, the UA integrates it in learning path and it will be displayed and consulted by learners. After a period (update_period) the description of this course will be deleted from updates.xml file, in order to allow the system to look for new updates. The integration of this course in educational content, allows the learner to be informed by the latest updates, as it permits him to choose from multiple version, the most suitable to his preferences. Namely he can choose the new one or keep his learning in the former course. In order to ensure the process performance, in terms of speed and response time of the system. We define the integration period that constitutes the time in which, the new course will be integrated completely in the learning path. During this period, the system must detect its consultation rate, feedback and its comments. And if it was rarely consulted or has negative feedback, it will be archived and then deleted completely.

III. RESULTS AND DISCUSSION
A. The architecture of system managing the file updates.xml The administrator introduces updates in the system through the updates.xml. This file is composed of a set of varied courses that require modification, removal and sometimes compilation of statistics. That is why, it is necessary to design a software application that facilitates the management of this file. Including display the updates, search, edit, and delete course materials... To realize this application, we used the class DOM (Document Object Model) which is based on loading the whole content of the XML file in the memory, Codeigniter framework to organize and facilitate data manipulation, we used also, PHP5 as programming language and wamp (apache) as local server installed on the computer, in order to run the application locally Fig. 5.

B. Implementation and evaluation
Once the new courses are ready, the administrator inserts them in updates.xml file. He enters their informations like date_edition, content format, and category as shown in the following interface Fig.6. In the other hand, when learner consults his course in order to continue his training. The UA gets information about the read material and checks if there is new corresponding update or not. It is responsible for integrating updates into the curriculum gradually, and also after learners' permission. The system displays a message to learner inviting him to learn in the new new version of the read course as shown in the following interface Fig. 7. We have tested the implemented solution. It works correctly and facilitates the management of courseware. The UA communicates easily with updates.xml by inserting new contents. Also in the case of an absence of corresponding updates, it signal the system to look for a new ones through anomalies.xml files.

C. Experimental results
We have tested our system in faculty of humanities, Moulay Ismail University, Meknes, Morocco. We proposed an online learning of some computing subjects like Microsoft office word. 97 learners were involved in this experimentation. The UA integrates new contents materials (Microsoft word 2013) using new tools (video HD with high quality), interactive course, and new methods of teaching and assessing. We noticed that the majority of learners achieved a high scores in test assessment after inserting updates compared to the former curriculum as shown following results Fig.8. Fig.8 The difference between scores' test before and after integrating updates by UA As we can see in the above histogram, we observed a difference in the percentage of scores' test assessment before and after inserting updates. Namely, learning in new updates including recent courses and latest teaching methods revealed a high scores' levels, 65% of learners have an excellent marks compared to learning in the former contents materials in which only 30% have high marks. It is shown also that the percentage of learners who have low scores has reduced from 22% to 7% after introducing updates.
This results proves the efficiency of the proposed solution in order to keep to date learning system and also to provide the latest thinking and updates. It is reflected clearly on learning process and learners' knowledge.

IV. CONCLUSION
In this paper, we proposed an automatic updating courses solution based on intelligent agents. To achieve that, we used two agents. The UA agent integrates revised contents in the curriculum. However the role of SCR agent is looking for latest updates. And to facilitate communication between them we opted to use XML files. First, it was essential to analyse the updating process. For this reason we used an activity diagram to explain the features of UA agent, also we used the state transitions diagram in order to describe the life cycle course in our e-learning system. In order to prove the efficiency of the proposed solution. We realized the first part of the system, by implementing the UA agent. Tests made in this context reveals that it communicates easily with XML files and integrates updates into curriculum gradually without stopping learning process and disturbing learners and achieved high scores in test assessment. The second part of our work, will be devoted to determine the behaviour of CSA in term of searching updates in server, so as to complete the performance of the proposed updating process