Object-Based Trace Model for Automatic Indicator Computation in the Human Learning Environments

This paper proposes a traces model in the form of an object or class model (in the UML sense) which allows the automatic calculation of indicators of various kinds and independently of the computer environment for human learning (CEHL). The model is based on the establishment of a trace-based system that encompasses all the logic of traces collecting and indicators calculation. It is implemented in the form of a trace database. It is an important contribution in the field of the exploitation of the traces of apprenticeship in a CEHL because it provides a general formalism for modeling the traces and allowing the calculation of several indicators at the same time. Also, with the inclusion of calculated indicators as potential learning traces, our model provides a formalism for classifying the various indicators in the form of inheritance relationships, which promotes the reuse of indicators already calculated. Economically, the model can allow organizations with different learning platforms to invest only in one trace Management System. At the social level, it can allow a better sharing of trace databases between the various research institutions in the field of CEHL. Keywords—indicators calculation, CEHL, learning traces, trace model, tracebased system, reuse of indicators


Introduction
A digital trace of interaction is a temporally located series of observations [1] [4] which is either an interaction between humans, mediated in various ways by computer, or a series of actions and reactions between a human and a computer. There are several types of traces (computer data, screenshots, audio, videos). They are categorized according to the tools that are used for capturing and collecting the observed interactions. In a computer environment for human learning (CEHL), there are three facets of use of traces of interactions, namely: empirical studies on the characteristics of human interactions, reengineering of CEHLs and adaptation of interactions in real time. With the progress of work on traces of interactions, we are even witnessing a sort of theorizing of traces which are presented by certain authors as fully-fledged Computer objects. The appropriate modeling of interaction traces allows teachers to design and automate the calculation of indicators, which in turn will help them under-The contributions above do not offer complete engineering indicators from traces from the observation of activity of learning, including: collecting evidence, modeling the track regardless of its origin, a preparation of data for the calculation of indicators, the calculation of indicators and the possibility of reusing them. The standard xapi and IMS Caliper provide models for the trace attributes to ignore the CEHL, adding a semantic layer to the information contained in the trace. But these works do not specifically concern the field of indicator calculation. They are rather oriented towards the storage of traces from several CEHL in a common database. Tarek Djouad in [7] proposed a SBT (Traces Based System) for the calculation of indicators from trace models. However, his interest was only on activity indicators. Diagne [5] and Gendron [2] deal with this indicator reuse problematic but in a reuse perspective of them in a new indicator computing platform and also the work does not cover the entire engineering process to be implemented. The analyses of trace models presented above lead to the following central research question: which model of traces for the calculation of indicators would take into account the calculation of several types of indicators at once, independently of a learning platform, while integrating the notion of transformation and reuse of traces? The models in the standard training traces of xAPI and XMS-Caliper make it possible to have a basic trace model giving access to all the information necessary for the calculation of an indicator. A model based on traces of the objects, which comes from xapi and XMS-Caliper, can meet the following needs: Collection of data processing traces, model and reuse of the indicator. Such a model is obtained by enrichment based on the design methodology of a trace-based system (SBT) [17].
The rest of this article is made up of: a methodology section, which presents the model we propose, an experimentation section, which focuses on the experimental framework to validate the model, a result section, which presents the results obtained, a discussion section, which compares our proposal to the existing one, and a conclusion, which presents a synthesis of this work, followed by the interest for the research and some prospects.

Methodology
This section presents our proposed model for the automatic calculation of the following indicators: activities, cognitive, social and emotional. We rely on the process of calculating indicators from a trace model to build our trace model. We first present a plot model for each type of indicator, then we deduce a more generic model which takes into account all these different models. The various models proposed here are intended to provide all the data necessary for the application of the various calculation formulas for each type of indicator. These formulas are the basis for calculating our indicators.

A trace model for calculating activity indicators title
An activity indicator makes it possible, among other things, to have the following information for a resource and for a learner: access time, working time, density of actions, etc. The trace model represented in Figure 1 presents the class model for the calculation of indicators of a learner's activities. ─ Actor: used to save information on the learners to whom the collected traces belong. ─ Observe: used to represent the collected traces. ─ Time: makes it possible to define the temporal domain of the trace, that is, the period during which the trace was collected. It is characterized by a beginning and an end, and a time unit that can be minutes, hours, days, years. In the framework of our work we take as time unit "date and time" for reasons of precision in the collection of our traces. ─ Resources: allows one to save data on the traced resources. This table represents all the elements liable to undergo user action on the CEHL. These resources can be of two kinds: verbal resources that affect all resources that support the learner to communicate with his peers, often the case with forums or chats; non-verbal resources which concern resources which do not involve a communication of the learner, like documents, videos, links, etc. ─ Module: This class represents the entities to which the traced resources are attached. Here it can be a CEHL, a teaching unit or a lesson in a teaching unit. ─ Group of actors: is a class representing the different groups to which the users and traces belong, in particular when collecting traces during the performance of a collective activity.
We present here a trace model for the calculation of indicators of activity, used in the following as a basic model to determine the trace models for other indicators like the cognitive indicators.

Trace model for the calculation of cognitive indicators
Cognitive indicators provide information about the acquisition of knowledge in a learning activity. The model that we propose emphasizes the evaluation of the acquisition of knowledge by the learner. We first focus on the indicator of activity models while refining some classes by adding certain attributes that help us achieve our goals. The classes that have been tweaked here are "Module" and "Ressources_non_verbal" (non-verbal resources). These classes have inherited additional attributes from the activity indicator model, which are «objectif_a_atteindre" (objective_to_be_ achieved). For class "Module" and for the class "Ressources_non_verbales" (Nonverbal resources) we have "connaissance_a_utiliser"(knowledge to be used), "exercice"(exercise), "niveau_difficulte" (level_of_difficulty) and "reponse_utilisateur" (us-er_response). Figure 2 shows the traces model for calculating cognitive indicators.

Fig. 2. Trace model for calculation of cognitive indicators
The main changes compared to the activity indicators calculation model are as follows: ─ The addition of new classes that inherit the class from non-verbal resources. These new classes represent the resources that allow us to assess the level of knowledge acquisition by the user. These are in particular the resources which allow the learner to be assessed, namely: quizzes, practical work and exercises requiring argumentation on the part of the learner that we call here text production exercises. ─ To know that this is the knowledge acquired by the learner, we need to know for each assessment method: the knowledge to be used in order to be able to pass the assessment successfully, the level of difficulty of the assessment, the answers expected during the evaluation and the answers given by the learner during his evaluation. So, we modified the "Ressources_Non_verbales" (non-verbal resources) by adding attributes cited for storing this information. In the event that a set of combined evaluations makes it possible to acquire precise knowledge, we added, at the level of the "Module" class, the module regrouping these different resources, which we call here "objectif_a_atteindre" (objective to be achieved).

Track model to calculate emotional indicators
Emotional indicators allow a glimpse of the emotional state of a learner or members of a group for the realization of a learning activity. Within the framework of this work we limit ourselves to the detection of the motivation of the learner during the follow-up of a learning activity. The motivation of the learner is assessed here based on the time spent by the learner in solving a problem depending on the type of activity and the level of difficulty of the activity. Our trace model for the calculation of indicators focuses on the collection of these type of information. Figure 3 presents our trace model proposal for the calculation of affective indicators. This model is also based on the trace model for the calculation of activity indicators. We modify it by adding attributes on some classes that allow us to determine the emotional state of a learner. The added attributes are: "niveau_difficulte" (level of difficulty), "status", "temps_prevu" (time allow) and "type_activite" (type of activity). To be able to measure the motivation state of a learner, it suffices to specify for each traced resource: the type of activity (compulsory or not) represented by the attribute "type_activite"(type of attribute), the minimum time foreseen for the realization of the activity, represented by the "temps_prevu"(estimated time) attribute, the status (activity validated or not) represented by the "status" attribute. An activity is valid when the learner has completed it. These different attributes are integrated at the level of the "Ressources_non_verbales" (non-verbal resources) class. The latter includes resources for acquiring knowledge and resources for assessing the acquisition of that knowledge.

Trace model for calculating social indicators
Social indicators allow having information on the collaboration, coordination, organization and the relationship of learning with peers. These indicators are mainly calculated either by grouping traces of activities from user groups and performing calculations for the targeted indicators, or by grouping rather indicators of activities already calculated by individual group functions of group learners. To calculate these social indicators, we will use the same trace model for activity indicators.
After having presented a basic model for the calculation of each type of indicator, this section presents a model, based on the models presented above, which allows to automatically calculate all the type of indicators presented above. We have therefore added to our model, some complementary classes, namely: Transformation Execution, DerivedMethod and Indicator. Figure 4 presents the trace model for the automatic calculation of the indicators, the complementary elements are circled. ─ The "TransformationExecution" class represents the execution of a transformation method on a trace or an indicator. At the end, it provides either another trace that we will call transformed trace or another indicator. It has predefined transformation methods and also gives the possibility for an appropriate user interface to be able to add other transformation methods according to the user's need. As a predefined transformation method we have: • Filter, which allows one to sort the observations, while keeping only those which satisfy a certain condition. For example, the user can decide to consider only traces included in a precise time interval for these calculations. • Fusion, which allows to make the union of several observations. • Enrichment, which makes it possible to enrich an observation by adding other attributes, other relationships or new observations. • Rewriting of patterns, which consists in creating new observations on the basis of a pattern sought from an observed source. • Composites, which consists in the composition of sequential or parallel to methods existing transformations. ─ The "DerivedMethod" class represents the class of derived methods. These methods make it possible to facilitate the use of more generic methods such as those mentioned above by highlighting a particular way of using them. A derived method comprises a parent method and values for the parameters. For example, for the function for calculating the mood indicator, there is a derived method which will have as its parent method, an enrichment method, and as parameters, the algorithm for calculating the mood state and the degree of certainty. ─ The "Indicator" class represents the calculated indicators. Often considered as distinct from the traces, we have decided in our framework to consider them as observed because certain indicators are reused, either, in conjunction with other indicators, or, with other observed traces, to calculate other indicators. The indicators will thus be dated by the observed data used for their calculation.

Process or algorithm for automatically calculating indicators
The algorithm (or process) for automatically calculating indicators from our model is as follows: ─ For each type of indicator, the user will define a period of observation or collection of evidence necessary for calculating the target indicator. ─ After defining the observation periods, a process will be responsible for verifying the end of each observation period for each indicator and performing the transformation method corresponding to the calculation of this indicator. ─ The value of the indicator will be stored in the trace base for viewing by the user with the aim of helping him in his decision-making, or the stored value will be used for the calculation of another indicator.

Preprocessing module
In order to make our model independent of the source CEHL, we set up a preprocessing module for traces coming from the CEHL to disregard them, based on the concept of variable defined in [10]. The variable according to [10] is an object in the UML sense which makes it possible to extract the concepts contained in the traces instead of focusing on the values they contain. Each concept is thus modeled by a name, which makes it possible to symbolize them to the developer, and by its type (date, number, string of characters). We have added a description field to add a semantic layer. So, our preprocessing consists, first, in implementing several predefined variables in our system, and then for each trace file imported into our system, if this file is for example in Excel form, the user will have to do for each column of his file, a correspondence with one of the variables of our system. These correspondences therefore allow us to transform all the traces coming from various sources into traces directly addable in our system.

Installation
The practical implementation of our model is done in several steps: ─ Transform our model into a database. The latter is then used as a storage medium for our traces. ─ For each new source of traces, set up or implements a connector which will be linked to our database of traces. This connector will allow one to add the traces coming from the new source in our database of traces. Traces from different sources will sometimes require preprocessing to make them match our model and be stored in the database. ─ Implement transformation methods for the different types of indicators to be considered.
─ Setting up a display module that will be connected to our footsteps database will have display indicators calculated in an understandable form for the user. Figure 5 shows the architecture on the general deployment of a trace-based system that will use our model as a base for the calculation of indicators. It mainly consists of 3 modules: ─ The module for collecting traces from CEHL which mainly contains our connectors and our ontology mentioned above. This module is responsible for collecting the different traces and formatting them in a format that can be stored directly in our trace database. ─ The trace transformation and automatic indicator calculation module which mainly contains the traces database built from our model, and a period launch system for automatic indicator calculation. The calculated launch period will depend on the type of indicators for better decision support. ─ The visualization module which offers the user an adequate visualization interface of the various indicators calculated for better decision making.

Experimental setting
To test our solution, we set up our trace-based system in a JavaScript environment using the Node JS Framework. For the visualization of our indicators we set up a web platform allowing a given user to have access to indicators in an appropriate form. We took as a source of test data the Moodle log files collected during a programming learning session in which the 3rd year computer engineering students of the National Advanced School of Engineering of Yaoundé participated during the academic year 2016-2017.

Results
This part presents some results of visualization of traces and calculation of indicators obtained after experimenting with our model. Figure 6 shows a screenshot of the visualization of the learning traces stored in our database from our test platform. One can see the traces of interactions of certain users; it presents, the date and time when the action took place, the user who carried out the action, and a description of the action carried out.  Figure 7 presents the "identification of interactions" indicator which is an indicator of activities presenting all the actions made by a given user over a specified period. In our case it represents the activity of a learner over a period of one month by presenting the number of actions performed per day and on which particular module the learner's action was performed.  Figure 8 shows the calculation result of the activity indicator "Active Agent" on a module or course "Duty" of a learning session on calculating 1 day. The indicator presented here as a curve gives information on the number of active users on this module at some point in January 04, 2017.  Figure 9 still represents the "identification of interactions" indicator also presented in Figure 7, but here, it is calculated for a precise module. Figure 9 then shows the number of interactions made on a module (in our case the "Homework" module) over a period of 1 month.  Figure 10 represents a cognitive indicator that we have put in place to obtain the marks obtained by the learners during the "report writing" activity. This indicator allows, for example, depending on the level where the student's grade is located, to decide whether the student was able to acquire the skill that the learners were supposed to have obtained after following this module. In our case, the skill to be acquired is "Writing a software engineering report". We can for example conclude from this module that a learner whose grade is between 16 and 20 has acquired the skill. In figure 10, these learners are those whose grades are shown using a green bars. But on the other hand, we can conclude that those with marks between 0 and 5 have not acquired this knowledge. In the figure, the learners in this case are those whose marks are represented by red bars.  Figure 11 represents the result of the calculation of a social or collaboration indicator, in particular the "degree of participation" indicator which allows having, for each activity where the work must be done in a group, the degree of participation of each learner in their group based on the number of interactions performed on that activity. In this case, for each group detected, it is thus possible to have the most active and least active learners. If the final grade of the learner should depend on the percentage of contribution in the group, this indicator already provides us with decision support in this case.