Appendix A
In this supplementary material, we present a detailed description of the software architectures proposed in the selected primary studies in this SLR. The studies [P1][P2][P5][P12][P13][P16][P17][P18][P19] and [P22] presented a component or layered architecture. Each of these works is described below.
The study [P1] implemented a context-aware system to interact with learning content through an easy-to-use user interface with Quick Response (QR) code and Global Positioning System (GPS) technology for content personalization. The educational resources this application manages are in the domain of English learning. The architectural model was divided into three subsystems. The multimedia learning subsystem, where educational materials are stored between courses and student learning behaviors to make future adaptations. The context-aware subsystem, which obtains context information using GPS and QR codes, is responsible for processing the information obtained to determine the relationship between the learner’s environment and the learning content. Finally, the mobile learning recommendation subsystem is responsible for executing the content adaptation and returning the appropriate information based on the context and the information collected from the learner.
Baccari and Neji introduced a Collaborative and Context-aware Mobile Learning System (CCMLS) [P2] with specific features such as mobile learning, representation or interpretation of the environment, and collaboration to deliver learning resources. The architectural design considers the classification of content, learners’ learning skills, and roles for communication between experienced and inexperienced users. The architecture comprises three layers: learning context detection, adaptation, and application. The first layer contains the physical and logical sensors for detecting the learning environment. The second layer comprises various components that manage and process the context information obtained to provide a set of rules for adaptation to learning and identify appropriate resources based on the characteristics of the users. The third layer is responsible for delivering resources to the learner, managing the learner’s interaction with the application, collecting information, and determining communication channels with other learners.
Nguyen et al. [P5] presented the design of a layered architecture (CAMLES) for context-aware mobile learning for English language teaching. Among the requirements considered in the design, the content adaptation based on information on the environment, location, learning time, and learner’s knowledge in progress was considered. The architectural model consists of three layers: detection, database, and adaptation layers. The detection layer collects information to be used by the other layers; the component groups the detected data, identifying the learner profiles and context information. Subsequently, the database layer manages the storage of context information, the student profile, and the educational resources used in the system. The storage of these data allows the components integrated into the architecture to generate a learner history so that the information is used to improve adaptations using the student’s context. Finally, the adaptation layer uses stored and real-time information to provide learners personalized materials according to their characteristics.
MALO [P12] is a system aimed at managing adaptive learning objects. In this system, content adaptation was made based on the educational context and the needs of a learner. In this regard, the system performs learning style extraction, situation analysis, and adaptation of adaptive learning objects. The proposal presents a three-layer architecture: (1) the Intelligent loop layer, which provides the necessary services for the different levels or components of the architecture; (2) the function layer refers to the components responsible for storing and processing context information and educational resources for adapting content to students; and (3) the Link Layer is responsible for extracting context information through sensors and using it in different components of the system.
Louhab et al. [P13] developed a system to deliver adaptive formative assessment of context-aware mobile learning (AFA-CAML). The presented architecture includes context information storage, learner models, and an adaptation engine.
Benlamri and Zhang [P16] proposed an ontology for content adaptation using students’ contextual information such as activities, devices, and general environment. The architecture has a system core implemented in a real-time flow so that context information is consistent with constant changes in environment variables. The main functionality of this component is to adapt the necessary services using the student’s global context information. This architecture also has a context-sensing layer that performs two functions: obtaining raw data of various values in real-time from the user’s environment and transforming these data into consistent contextual information that the reasoning engine can use. On the other hand, in the perception layer, information mapping is carried out to interpret the context information through ontologies. Finally, learning services and adapted content are discovered in the adaptation layer based on the obtained information.
SECA-FML [P17] is a system that seeks to provide courses adapted to students in terms of presentation format using context information and taking the context of the mobile device as an essential requirement. Its architecture has certain components to carry out the adaptation, including a user interface for mobile applications for the learner’s interaction with content adapted according to their chosen course. An adaptation engine is responsible for selecting personalized educational resources using the information obtained by the other components. On the other hand, the student manager and student context manager components obtain and classify user information, learning style, profile, and management of the context information detected through the devices’ sensors.
AMLS [P18] is an adaptive mobile learning system that provides learners with personalized content according to students’ knowledge levels, learning styles, and heterogeneous learning devices. The architecture is divided into six modules. The first is the user interface module that handles the learner and system interaction. The detection module obtains context information and monitors the learner’s progress. In the student module, information related to the student is managed: personal information, study preferences, and learning style. On the other hand, the student diagnosis module comprises a knowledge diagnosis mechanism and learning style. This module evaluates the level of knowledge and identifies the student’s learning styles with the information obtained in the student profile. The knowledge diagnostic information identified above is stored in the expert knowledge module. Finally, a content adaptation model is responsible for adapting learning content using information from the profile and its device.
Yin et al. [P19] introduced a context ontological model for adaptive learning, which has different learning activities to affect a work-based adaptation. The model has a hierarchical layered design with a common layer and a particular domain layer. In the common layer, common contexts are generalized, where a general context is defined and shared between different domains. On the other hand, the domain layer is divided into two sublayers: general and specific domains. In this layer, the general context referring to the work of the activity carried out dynamically is captured to provide professionals with a personalized resource at the current moment.
Alshalabi et al. [P22] proposed a system focused on adapting the learning path through an algorithm that analyzes the user’s characteristics, level of studies, and goals to deliver a path of course units. The authors introduced a six-layer architectural design. The learning style layer is responsible for identifying and classifying students into existing styles, and this information is used when adapting. The student layer is responsible for storing and processing information regarding the student’s objectives and knowledge levels, among other characteristics. The domain module is responsible for obtaining information and prioritizing the educational resources provided to the learner. The learning path generation layer generates the graph that the adaptation algorithm uses to provide a personalized sequence of educational resources. The architecture has as its central component an adaptive engine layer where the learning path adaptation algorithms are implemented, the information processed in the other layers is collected, and the choice of the most appropriate path for the user is made to present in the last layer. After processing the information, the last layer is the user interface, the function of which is to graphically present the lessons that were adapted to the learner based on their characteristics.
On the other hand, the works proposed in [P3][P4][P6][P7][P8][P10][P11] and [P14] based their approaches on a Client–Server architectural style. Each of these works is described below.
The IMS-LD system in [P3] proposes three levels, presented according to the possible learning scenarios in an educational environment. Level A presents a series of activities involving various roles with services and tools in a specific environment. Level B focuses on storing information about a specific person or group. Finally, at level C, notifications of the events carried out in real time are generated.
Zhang et al. [P4] presented a framework for developing context-aware mobile learning systems. The framework uses a learning context manager that collects and classifies context information, which is shared with the next component. The learning engine determines the learning content according to the environmental information obtained and the choice of the ideal collaboration services for the learner. Finally, the user interface component focuses on direct graphical interaction with the user and displays the adapted contents and the available collaboration services.
Maqsood et al. [P6] proposed a context-aware system for learning the English foreign language, considering the academic performance in the student’s course to carry out an appropriate learning path to increase the student’s performance. The software architecture is divided into two levels, the main components of which are the courseware component and the mobile learning system. The first comprises components for constructing educational resources, which complement the courses obtained from the Internet and are stored in a database in the system. At this first level, a classification and analysis of the course information is also carried out to determine the complexity of the sentences in the articles. The second level extracts context information, which is processed to adapt based on the learning path and guide the students according to their knowledge.
Liu and Du [P7] propose a system that collects information and provides personalized services to students, considering their knowledge to offer a learning path appropriate for their characteristics, learning styles, and educational resources. Although the authors did not present the architectural design, they described the modules identified as necessary for an AMLS, such as the mastery model, which builds the learning path with the necessary courses. The student model provides a relationship between the path, the student information, and its characteristics, among other aspects, and the adaptation module aimed at collecting information from the other modules to deliver appropriate content to the learner based on an evaluation algorithm.
The battery-saving context-aware MoBELearn system for educational multimedia adaptation, proposed in [P8], provides personalized content to students, optimizing the battery of mobile devices. The system architecture contains a storage component for high-quality content in which the RDF storage component fragments the original videos and performs an adaptation considering the mobile device’s resources. On the other hand, the adaptation component will make requests for video fragments to show them to users.
The UoLm project [P10] consists of a system that provides adaptation services by implementing mobile learning, a tool for consulting content adapted by the services and executing learning activities. The application generates adapted individual activities, learning resources, tools, and educational services based on previously processed context characteristics. The system implemented an adaptation engine to process elements according to context-aware and adaptive scenarios. The engine to provide the adaptability service internally executes a process considering the educational resources’ format, size, quality, and other characteristics. With these data, the system adapts the device from when the student accesses it. This work also proposes fusing context information such as location, lighting, and noise level, among others, through a Decision Tree to present a personalized adaptation.
Chorfi, Sevkli, and Bousbahi proposed the MLAS architecture [P11]. Based on MLAS, the authors developed an adaptive mobile learning system using the case-based reasoning approach to provide the appropriate content to a student while minimizing content customization time. The architecture is composed of a learner model that stores user information, a device model that holds information from the student’s access devices, a repository of learning objects, which contains the educational content delivered to the learner, a component called the CBR system responsible for detecting the mobile device’s capabilities and the student’s preferences, and finally, an adaptation system responsible for adjusting the content to the student.
Ennouamani et al. [P14] proposed a content and format adaptive mobile learning model (D-MALCOF) that uses a student’s level of knowledge and learning style to personalize learning. An adaptation manager and a course management module comprise the architecture, which creates, updates, and selects the courses that will be presented to students. Content adaptation considers the knowledge-level information and learning style of the student’s profile to deliver appropriate content for a specific subject. The format of the educational resource can be a presentation, video, or text.
The works presented in [P15], [P20], and [P21] propose a service-oriented architecture (SOA). They are described in detail below.
Badidi et al. [P15] introduced a content personalization framework through cloud services. The services are personalized based on the learner’s preferences and device characteristics, promoting user mobility and diversity of mobile devices, among other characteristics. The architectural model presented has components such as the user profile manager, which stores user information, devices, and preferences. In addition, a service manager determines access and interactions with cloud services. It also has a user services interface in charge of storing the user’s profile on the access device to ensure the user obtains academic content provided by the services, adapting it to the device’s capabilities and the user’s preferences. Finally, the context manager uses GPS location and sensors to determine context activity and provide suitable services.
CoLaLe [P20] extracts, processes, and uses user context information to provide personalized services for language learning support. The design of CoLaLe focused on adapting the application’s behavior according to user preferences, context information, and services. A knowledge domain manager component was proposed to determine the important context information for filtering, classifying, and storing future adaptations. On the other hand, the context-sensing component obtains information from the user’s environment, specifically their location, using the mobile device’s GPS sensors. Finally, the context manager component determines the relevance of context information and relates it to user information.
Cheng [P21] proposed a knowledge-aware framework to develop a location-based mobile application to learn from the history of Kyoto. The application creates a user profile using personal information and preferences entered by the user, such as their location through the device. Based on this information, the application defines a knowledge domain base. In this knowledge domain base, activities, history, tasks, and exams are proposed to be taken in Kyoto.
On the other hand, one selected primary work [P9] based their architecture on an N-tiers architectural pattern. In the work proposed by Nimkoompai and Paireekreng [P9], a framework was presented that contemplates user experience and learning styles for dynamically presenting the content of some educational resources. The system has two phases of operation. First, a test is carried out to identify the learning style. Subsequently, a user profile is created so that the user can dynamically interact with the content presented.