Paper Title (use style: paper title) WEB-BASED CONTEXT-AWARE M-LEARNING ARCHITECTURE Web-based Context-Aware m-Learning Architecture E.I. Basaeed1, J. Berri1, M.J. Zemerly1 and R. Benlamri2 1 Etisalat University College/Computer Engineering Department, Sharjah, UAE 2 Lakehead University/Software Engineering Department, Ontario, Canada Abstract— Context awareness is essential in mobile learning being a highly personalized environment with diverse capabilities. Major challenges of context awareness are to define the learning context, how to sense it, and how to react to changes. Our proposed system provides a general architecture that facilitates contextualization using current widely-used web standards. It provides a systematic approach to achieve contextualization defining major components and their functionalities without deepening into details. It uses web services to connect to resources making them reusable and distributable. In addition, all technologies and platforms proposed in our system are available under General Public License (GPL) hence facilitating immediate implementation. The paper ends with a real world scenario where m-Learning could be the only solution. Index Terms— Context-awareness, educational technology, m-Learning, mobile aided learning, ontology. I. II. III. A. INTRODUCTION The recent rapid technological advancements in the mobile field added the potential to mobile phones to become a learning tool of the future. Nowadays, mobile phones have large base of users, rich multimedia capabilities, and linked by highly available communication network [1]. This revolution removes time and location boundaries making anywhere, anytime learning possible. On the other hand, it threatens the “one- size-fits-all” long-existing learning paradigm because of the wide spectrum of mobile capabilities, personalized nature of mobile devices, and diverse learning purposes of mobile learners [2]. In other words, contextualization becomes a cornerstone in mobile learning environments to fulfill diverse requirements without the need to duplicate resources and services. Contextualization can be defined as the system ability to dynamically change its characteristics to reflect changes in the learning context. Contextualization helps saving the learning time, reducing cost, and increasing effectiveness [3]. In this paper, we propose a web-based m-Learning system that takes care of context and generates content respectively. RELATED WORK Few real-life applications have been implemented in the field of m-Learning. In [4], the authors proposed a web- based system that takes into account device capabilities leaving other dimensions of the overall picture. The case study used is a revision content that consists of one page and their implemented system aims to proof the ‘device adaptation’ concept. Their approach was a combination of XML (eXtensible Markup Language) and XSL (eXtensible Stylesheet Language) technologies. The content is fixed (XML document) and delivered with a different style sheet (XSL file) depending on the device used. The style sheet specifies how the device should format XML documents and which content should the device display. In other words, all devices receive the same content but they display it in a different way. A main disadvantage of their approach is the use of OS detection in HTTP headers to decide on the device used which supposes a lot of assumptions on the capabilities and characteristics of the device. In[5], the authors proposed an approach that deals with m-Learning as direct mapping of e-Learning functionalities. The only excluded items are those that cannot be delivered which is a narrow view of device adaptivity. Again, the full picture of context awareness and other mobile-oriented challenges are not considered. In addition, the paper does not specifically describe the implementation of the system. Context awareness architecture for mobile learning illustrated in [2] is a very detailed description of “context discovery” highlighted in a hierarchical architecture. The architecture is represented as context consisting of context state, which in turn consists of a context sub-state that is a composite of context features. Context features are indivisible and represent only one item of information related to the learner or his/her device. There is no clear definition of what is meant by context. Another complexity dimension is the transformation of information to a standard format that was solved by “web services” using a standard XML file to define the current context. In [6], a m-Learning architecture based on web services is discussed. The authors faced a challenge in transforming the data from one format to another in a reasonable time that is because of the overhead associated. Their solution consists in creating different versions before user request. This solution degrades the adaptivity of the system significantly. Another missing part is the context-awareness in their approach apart from the device adaptivity. PEDAGOGICAL BACKGROUND Learning Context The learning context is defined as the circumstances in which, or conditions that surrounds the learning. In order to deal with variety of contexts and diverse technological environments, we divide the learning context state into three dynamic contextual categories, explicitly, learner, device, and connectivity. Each category is formed by a set iJIM International Journal of Interactive Mobile Technologies - www.i-jim.org 1 WEB-BASED CONTEXT-AWARE M-LEARNING ARCHITECTURE of attributes which are individually set to form the contextual category and hence indicate the current learning context. The learner context is subcategorized to personal information, learning related information, and personal preferences. Personal information includes authentication information, name, gender, age, language, educational level, qualifications and skills, disabilities, etc. Learning related information contains information about both the current learning session and historical information about previous sessions. The list of current session information includes the search keyword (learning goal), the time allocated for the learning session, time elapsed, consumed Learning Objects (LOs), stage reached, etc., whereas historical information consists of completed sessions, consumed LOs, speed of learning, search domains, etc. Personal preferences indicate a certain multimedia presentation on a certain device and preferred content depth and length. This feature is of a special importance in mobile environments as a result of being a relatively costly environment where learners may trade off multimedia presentation in favor of connectivity-cost. The device category includes the characteristics and capabilities of the device. Among those important attributes are the multimedia capabilities, supported mark- up languages, multi-language capabilities, screen resolution, and navigation methods. The connectivity category incorporates the used communication channel, available bandwidth, latency, and associated connectivity-cost [4]. B. C. IV. Contextualization Levels The ultimate goal of contextualization is to ensure that Learning Objects (LOs) that are presented to the learner meet the dynamically changing contextual requirements. There are three levels of contextualization: content, presentation, and navigation [7]. Content contextualization aims at providing different information to the learner in order to reflect the current learning context. Different information could mean totally different, partially different, or of different nature. Totally different means delivering different LO. Partially different however, would mean dictating the depth of information (i.e. regulating the amount of details) provided. Each multimedia type has its own characteristics making it more suitable for a certain purpose. For instance, text is more appropriate to convey details, images are good to express ideas, and videos are best used for simulations [8]. Therefore, the reason behind changing the nature of delivered information is to fulfill current requirements and constraints. The objective of navigation contextualization is to prevent the learner from following navigation paths irrelevant to the learning goal or being “lost in the hyperspace” resulting in a significant decrease of the navigation time [9][10]. Navigation contextualization can provide global/local guidance, global/local orientation, and a personalized view of the hyperspace. This type of contextualization can be achieved by one or more of the following techniques: direct guidance, link annotation, link removing, link ordering, and passive navigation. Methods used in our system are “direct guidance” and “link annotation”. The direct guidance technique shows the learner a single link to the “next” destination. The “next” destination is determined by the system according to some criteria. Link annotation includes changing the visual appearance (e.g. changing the font color, addition of comments or graphical icons) in order to give extra information about the destination. It could be used to reflect the degree of relevance or the state (visited/ not visited) of the destination Learning Object. [11]. Presentation contextualization assures that the layout matches the preference of the learner and reflects the constraints of the environment. It includes all layout variations, for example, changing the color, font-size, font-type, text orientation, image-type, image-size, etc. Adaptive presentation can be easily achieved in web application by choosing a different style guide. Although some researchers define presenting the content in different language or different multimedia type as part of the presentation contextualization, these are considered as part of content contextualization in our work. That is because they must be authored (i.e. not automatically generated) in the proposed system. Ontology-based m-Learning “A body of formally represented knowledge is based on a conceptualization: the objects, concepts, and other entities that are presumed to exist in some area of interest and the relationships that hold them” [12]. Conceptualization is an abstract view of the knowledge about the world. The use ontology provides many advantages. One main advantage is the reusability and sharing of Learning Objects (LOs), hence saving the cost associated with authoring learning materials. It assures consistent terminology of concepts across different domains as well. In addition, ontology uses a hierarchical architecture making it easier to manage and change individual learning objects. It enables a standard-based learning object metadata annotation. The output of the reasoning process is the extraction of metadata that will allow discovery and adaptation of learning objects. Thus the ontology used aims at delivering just the right amount of knowledge learners can consume on the fly using their devices [13][14][15][16]. SYSTEM ARCHITECTURE Figure 1 illustrates the three-tier web-based architecture developed in this research. The architecture is usually associated with less client development time and more efficient deployment. Any user having a device with a browser and an internet connection can use the application. This feature eliminates the need of downloading and installing, hence making it available to anybody, anywhere, and at any time. The architecture facilitates a centralized control over administration and configuration of the application, as well as, it eases the process of updating and upgrading the application. It is also a cross-platform architecture supporting low-end mobile phones up to desktops environments. Lots of functionalities related to the communication medium, security, and presentation are determined by the local browser. Therefore, different devices may render the content differently and have different level of technology support (mark-up language, plug-ins, etc). Nevertheless, this problem can be overcome by using device contextualization. The proposed architecture has the iJIM International Journal of Interactive Mobile Technologies - www.i-jim.org 2 WEB-BASED CONTEXT-AWARE M-LEARNING ARCHITECTURE maximum portability and the lowest functionality (no access to other built-in application and/or OS parameters) which is not required in our case. These characteristics [17][18] make it a suitable platform for the proposed system. A. B. 1) 2) Client tier The client tier consists of the learning device or more specifically the web browser installed in that device. Another requirement is an internet connection which could be through the GSM network or any other method. The client in this architecture is passive because it requests and receives information without much local processing. Middle tier The middle tier consists of three modules; context sensing, context reasoning, and context-aware delivery. It is connected to resources using web services, hence facilitating the distribution and reusability of resources. In our approach, this tier is maintained by Apache web server with PHP (PHP: Hypertext Preprocessor) as development language. Context Sensing At this stage, the system retrieves all information about the learning context that is relevant to the decision making process, in other words, having effective context awareness. Context can be sensed either directly (through direct user interaction) or indirectly (e.g. using HTTP headers, historical information, inference techniques, etc). Sensing is achieved by assigning values to attributes of the contextual categories (i.e. learner, device, and connectivity). For the learner context, personal information and personal preferences attributes are set during registration through form-filling (or any other similar direct user interaction). The learning related information is automatically maintained by the system (apart from the learning goal and allocated learning time) through monitoring the user behavior. Sensing device context is achieved through three defensive levels. Firstly, the system will query WURFL (Wireless Universal Resource File) using the “HTTP-user- agent header” and update the context accordingly. WURFL is an open source XML document that maps mobile devices to their properties. If this attempt fails, the system will detect the operating system and assign the device to a stereotype. The stereotype, set by the developer, will update the context attributes. Otherwise, the system will set all attributes to deliver the content in “least common dominator” being styled text-only navigation. The connectivity context is detected at initial- connection time. The detection is done by measuring the time required to download a fixed-size object and hence calculating the speed of connection. Based on the connection-speed, the system will try to figure out the connection-type and consequently all other related context information from the connectivity-profile repository. Context state as well as ontologies (content metadata) are copied into local variables to allow for easy and fast access and delivered to the next module which is the context reasoning. The frequency of updating context attributes is based on their type being: permanent, session, and dynamic attributes. Permanent attributes are updated only once in a life-time or upon user request such as personal information. Session attributes are set at the beginning of the session and it remains constant during the session such as search keyword. Dynamic attributes are updated at each request such as consumed LOs. In order to reduce the communication overhead, resources are updated with recent context state only at the end of the learning session. Figure 3. System architecture. Context Reasoning The objective of this module is to set variables that control the contextualization process based on the context state. The process is achieved by firing a set of rules after resolving conflicts. In our approach, each rule is assigned a “priority” value that is used to resolve conflicts. A rule can be either stereotype-based or attribute-based, whereas, variable can be set either by a predefined or a collaborative approach. In the stereotype-based approach, a set of interrelated context state attributes are monitored until the respective context can be assigned to a stereotype. Once this is accomplished, all rules associated with that stereotype are fired. In other words, this method takes the form of “if it is of this category, do something”. One major disadvantage of this approach is that it degrades personalization if it is misused or overused. That is because entities falling within the same category are treated the same. An instance where this method can be beneficial is in learner competence modeling where learner’s behavior is monitored and then categorized being a novice, intermediate, advanced or expert. After successful iJIM International Journal of Interactive Mobile Technologies - www.i-jim.org 3 WEB-BASED CONTEXT-AWARE M-LEARNING ARCHITECTURE categorization, learners with the same experience level are delivered the same depth of content (i.e. treated the same). In the attribute-based approach, rules are fired upon detection of a single attribute or a set of attributes and they take the form of “if these attributes are set, do something”. For illustration, images are reproduced (their formats are changed) in order to match one of the supported image formats by the mobile device being used. It is clear that this action requires only the knowledge of supported image formats without looking at other parameters. In the “predefined” approach, variables are set based on the “hard-coded” response set by the developer at development-time (i.e. if a certain condition occurs, a certain predefined action is carried out). The previous example of “image reproducing” is a good case of this type of responses. The other method is the “collaborative” response in which the current response is based on previous interactions with other learners and it is determined at run-time. For instance, if the majority of cell-phone learners prefer “text-based” delivery, then the system will make it the default delivery method for this type of devices. At the end of this stage, all delivery variables are set and passed to the last module where the actual processing is done. Among important parameters is the learning web which is a set of linked and ordered learning objects that satisfies the learning goal and fits within constraints and time limits. Further details are given in the case study. 3) C. V. Context-aware Delivery This module provides the graphical user interface (GUI) to the learner. Geared by the outputs of the previous module, it contextualizes the content, navigation, and presentation before it delivers the content to the learner. Third tier It is the “resource” tier which consists of five repositories, namely, learner profile, device profile, connectivity profile, ontologies, and learning objects. These repositories could be all stored in one server or distributed among different servers. The first three repositories associate a key to a set of attributes. In the learner profile, each learner is linked to his/her contextual information via authentication information. The capabilities of a certain mobile device are attached to its “HTTP-user-agent” signature in the device profile (i.e. WURFL). Also, each connection-type is associated with its characteristics in the connectivity profile based on the connection speed. These repositories are maintained as XML documents in our system. The ontologies and LO repository constitute the content of the system. Ontologies describe learning objects of the domain and indicate the relationship between them. Among important attributes are described concept, estimated learning time, and semantic density of the content. These ontologies are described in XML adopting the IEEE-LTSC LOM (Learning Object Metadata) standard [1]. Learning objects are XML files that contain different annotated parts describing called “content elements”. Each element is annotated by three parameters: depth level, multimedia nature, and priority. Elements with the same depth can replace each other conveying the same information in different multimedia nature. However, elements with deeper levels provide further explanations and details of elements in the upper level. It is worth mentioning that deep elements (i.e. not those at the top level) are meaningless without above levels. In other words, they cannot form LOs by themselves. The reason behind the last attribute (i.e. priority) is to define the best element at each depth level that should be chosen in case there are no constraints on content delivery. CASE STUDY (HAJJ) Hajj (pilgrimage) is one of the religious obligations in Islam. It includes performing specific rituals at specific times in a specific place. Normally, there are approximately three million pilgrims performing Hajj each year. The problem arises when pilgrims would like to request information about Hajj rituals; where should they go and who should they ask? With most of pilgrims carrying their mobile phones, m-Learning could be the ideal solution. Figure 2 represents a subset of “Hajj” ontology used by our system. The rectangles represent concepts organized as a tree. Each concept contains text and may contain image, video, and other multimedia files. There are three relationships between the ontology concepts: necessary part-of, part-of, and is-a represented respectively with a thick, normal, and dashed arrows. Figure 2. A subset of Hajj ontology Consider a situation where a pilgrim wants to know some information about Hajj rituals. Using his mobile phone, he logged into the system and requested information about “Miqats” and “jurisprudence requisites”. Once logged-in, the system extracts the learner’s profile from the repository layer. It also identifies the device type and the communication channel and retrieves their characteristics as mentioned before. Thus, all constraints related to the user, the device, the channel are clearly identified, stored in a database, and associated to the current learning session. Then, the user enters his query. User’s query, ontologies, and other context state elements are delivered to the next module “context reasoning”. The system will then try to match the search keywords extracted from the query to the concepts in the ontology. Shaded squares in figure 2 represent concepts that have been matched with the keywords in the learner’s query. The next processing stage consists of extracting all sub- concepts of the obtained four matches (i.e. reduced ontology that will be used to derive the learning web). As iJIM International Journal of Interactive Mobile Technologies - www.i-jim.org 4 WEB-BASED CONTEXT-AWARE M-LEARNING ARCHITECTURE shown in figure 3, “The Miqats” concept will not be considered since concepts “Temporal Miqats” and “Locational Miqats” are sub- concepts of “The Miqats”. Afterwards, every concept is examined based on the rules of the “context reasoning” module to decide what to deliver (e.g. exclude any content that the device cannot handle, consumes high bandwidth on the current communication channel, or the user does not prefer to receive based on his preferences). The system will then examine the learning web to check whether the selected learning content fits within the learning time allocated by the learner. If the reduced ontology fits within the user time constraint (user allocated learning time), then it is used to generate the learning web. If however the time does not fit within the allocated learning time, then, the constructor will consider that top concepts of each sub- tree have the same level and starts eliminating the concepts at the deepest levels of all retrieved sub-trees by using the following elimination order: “is-a” relationship, “part-of” relationship, and finally the “necessary-part-of” relationship. Figures 4 and 5 illustrate this reduction process, assuming that the allocated learning time fits only the shaded concepts. Figure 3. The reduced ontology after refinements Figure 4. “is-a” relationship is eliminated before “necessary-part-of” relationship at the same tree level Figure 5. The minimum ontology that can be delivered Figure 6. Figure 7. An ordered list of learning objects Once the ontology is refined and reduced, the web constructor process generates the learning web. The constructor conducts a depth-first strategy to order the concepts into a learning web, where LOs are mapped to concepts. In order to illustrate the ordering of learning objects, we suppose that the reduced ontology displayed in figure 4 fits within all constraints. Therefore, the system will order learning objects as shown in figure 6. Finally, the system retrieves LOs that constitute the learning web from resources layer and caches them. Then, it organizes them as a table of content highlighting those covered in earlier sessions and displays the resultant page to the learner. The page is always produced in a supported mark-up language and attached with an appropriate style guide (if applicable). If the learner requests a LO, it is delivered in his/her preferred language (if available and supported by the device), in his/her preferred knowledge depth, supported by navigation links that lead to the next LO in the learning web, and with images (if applicable) rendered to fit the device screen and in a supported format (based on delivery attributes set in the previous step). Figure 7 shows snapshots of the implemented system in different situations. At the last stage of processing, the system managed to reach its ultimate goal providing “just enough, just in time, and just for me” learning experience [19]. (b) presentation adaptation where image resized to match screen resolution (a) navigation adaptation in a desktop environment (d) a learning object displayed on a mobile phone in “default” mode (c) delivering content in “text- only” mode based on user preference Snapshots of the implemented system iJIM International Journal of Interactive Mobile Technologies - www.i-jim.org 5 WEB-BASED CONTEXT-AWARE M-LEARNING ARCHITECTURE CONCLUSION VI. [9] C. Kaplan, J. Fenwick, and J. Chen, Adaptive hypermedia Navigation Based on User Goals and Context. User Models and User-Adaptive Interaction, 1993. 3(3): p. 193-220. This paper describes a three-tier web-based architecture for m-learning. In order to handle the learning context, our system uses three contextual categories: learner, device, and connectivity. Each category is subdivided to a set of attributes. These attributes are set directly or indirectly to form the current context. Based on the current context, attribute-based and stereotype-based rules are fired to set delivery variables either with a “predefined” or a “collaborative” value. The learning web gets constructed to match the various constraints and user’s time-limits. Afterwards, the delivery module forms the GUI and delivers the context-aware content to the user. The process of sensing, adapting, and delivering is repeated during the learning session. The client-tier is handled by the web browser of the mobile phone. The middle-tier is implemented using PHP language on Apache web server. The third-tier (resources) is based on XML document. The middle-tier is connected via web services to the third tier to facilitate reusability and distribution of resources. The major features of this architecture are being a highly cross-platform, ontology-based, as well as, deploying web standards and GPL software. The system presented has been successfully tested using various software/hardware device configurations. [10] Mathé, N. and J. Chen, User-centered indexing for adaptive information access. User Models and User adapted Interaction, 1996 (6). [11] H. Baumeister, A. Knapp, N. Koch, and G. Zhang. Modelling Adaptivity with Aspects. In Proc. of the 5th Int. Conf. on Web Engineering, LNCS 3579, 406-416, July 2005. [12] Genesereth, M. R., and Nilsson, N. J. Logical Foundations of Artificial Intelligence. Morgan Kaufmann Publishers, 1987. [13] J. Berri, R. Benlamri, and Y. Atif, “Ontology-Based Framework for Context-aware Mobile Learning,” Proc. of the 2006 International Conference on Wireless Communication and Mobile Computing, Vancouver, Canada, July 3-6, 2006, pp. 1307-1310. [14] T. R. Gruber, A translation approach to portable ontologies. Knowledge Acquisition, 5(2):199-220, 1993. [15] Wikipedia Contributors, “Ontology (computer science)”, Wikipedia, Available[Online]: http://en.wikipedia.org/w/index. php?title=Ontology_%28computer_ science%29&oldid=1326923 83, Accessed: 23/05/2007. [16] C. Liao, C. Chou, and J. T. D. Yang, “An ontology-based ubiquitous learning grid,” In Proceedings of the International Conference on Interactive Mobile and Computer Aided Learning (IMCL2007), Amman, Jordan, 16-18 April, 2007. [17] G. Coates (2004). “Java Thick Clients with J2ME”, Java Developer’s Journal, Available[Online]: http://www2.sys- con.com/ ITSG/virtualcd/java/archives/0606/coates /index.html, Accessed: 15/05/2007. [18] T. R. Hansen (2004). “Java and Mobility”, JAOO Conference, Cannes, France, 24-26 May, 2004. Available[Online]: http://www.pervasive-interaction.org/talks/2004-JavaandMobility JAOO.pdf, Accessed: 22/05/2007. REFERENCES [1] R. Benlamri, J. Berri, and Y Atif, “A Framework for Ontology- aware Instructional Design and Planning,” International Journal of E-Learning Knowledge Society, v.2 n.1 pp. 83-96. 2006 [19] K. Peters, “Learning On The Move: Mobile Technologies in Business and Education,” Australian Flexible Learning Framework. 2005. [2] P. Lonsdale, B. Chris, M. Sharples, and T. N. Arvanitis, “A context-awareness architecture for facilitating mobile learning,” 2nd European conference on learning with mobile devices (mLearn2003), London, UK, May 19-20, 2003, pp. 79-85. [20] J. Berri, Y. Atif, and R. Benlamri, “Time-Dependent learning”, Proceedings of the 4th IEEE International Conference on Advanced Learning Technologies (ICALT’04), pp. 816-818, 2004 [3] D. Dagger, V. Wade, and O. Conlan. Towards “anytime, anywhere” learning: The role and realization of dynamic terminal personalization in adaptive e-learning. In Ed-Media 2003, World Conference on Educational Multimedia, Hypermedia and Telecommunications, Hawaii, 2003. [21] Y. Atif, R. Benlamri, and J. Berri, “Knowledge Utility Optimization for Time Dependent Learning,” Proceedings of the International Conference on Cognition & Exploratory Learning in Digital Age ’05, Porto Potugal, December 14-16, 2005, pp. 434- 439. [4] T. T. Goh, Kinshuk, and T. Lin, “Developing an adaptive mobile learning system,” Proceedings of the International Conference on Computer in Education 2003, Hong Kong, December 2-5, 2003, AACE, pp. 1062-1065. AUTHORS E. I. Basaeed, J. Berri, and M. J. Zemerly are with the Department of Computer Engineering, Etisalat University College, Sharjah, UAE (e-mail: Eisa.Ebrahim@ieee.org, {berri, jamal}@euc.ac.ae). [5] K. Kurbel, J. Hilker (2002). “Requirements for a mobile e- Learning Platform,” IASTED Int. Conference on Communications Internet and Information Technology 2002, US Virgin Islands. [6] S. K. Sharma, F. L. Kitchens (2004). ‘Web Services Architecture for M-Learning”, Electronic Journal on e-Learning, v.2 issue.1 p. 203-216. R. Benlamri is with the Software Engineering Department, Lakehead University, Thunder Bay, Ontario, Canada, (email: rbenlamr@lakeheadu.ca) [7] N. Koch. (2000) Software Engineering for Adaptive Hypermedia Systems: Reference Model, Modeling Techniques and Development Process. PhD thesis, Ludwig-Maximilians- Universität München, 2001. [8] B. Han. (2001) Student modelling and adaptivity in web based learning systems. Master’s thesis, Computer Science Department, Massey University, Palmerston North, New Zealand. Manuscript received 15 September 2007. Published as submitted by the author(s) iJIM International Journal of Interactive Mobile Technologies - www.i-jim.org 6 I. Introduction II. Related Work III. Pedagogical Background A. Learning Context B. Contextualization Levels C. Ontology-based m-Learning IV. System Architecture A. Client tier B. Middle tier 1) Context Sensing 2) Context Reasoning 3) Context-aware Delivery C. Third tier V. Case study (Hajj) VI. Conclusion Authors