TY - JOUR AU1 - Lee,, Yugyung AU2 - Chong,, Quddus AB - Abstract Electronic distributed learning that overlooks the physical and geographic status of learners has become a reality. Moreover, its quality has been considerably improved by utilizing recent advances in web-based technology. Various electronic learning support systems such as Internet-based tutorials and Virtual Universities have appeared in different forms and reflect advances in technology. However, there remains a huge barrier to support the shareable and collaborative learning available through virtual communities. Our solution to these problems was to develop an educational middleware, called the Community-Based Learning (CoBL) framework whose goal is to: (a) adapt to the diverse requirements of learners; (b) support shareable and collaborative learning; and (c) be capable of facilitating distributed learning over the Internet. The CoBL framework is based on: (1) agents to manage individual learners and communities of learners; (2) a shared data model for integrating heterogeneous communities; and (3) a component-oriented development approach. We have implemented the CoBL prototype system and used it for community-based learning. 1 Introduction The Internet influences every aspect of our daily life. In particular, online courses over the Internet allow learning and education to be available irrespective of physical and geographic status. For instance, web-based lectures permit instructors and students to share information and their ideas directly with the entire classroom and can be supplemented by multimedia resources and electronic class mailing lists. Furthermore, the Internet can be used to improve the quality of traditional instruction, training, and learning by providing an advanced digital means of conveying and presenting information and ideas. New technologies such as digital video links have currently been promised as further refinements of distance education. Recently, many efforts have been made to build online learning systems. Specifically, a Learning Management System (LMS)1 1 Learning Management System (LMS) available at: http://www.adlnet.org. acts as a core server for an online learning service (LMS). LMSs are used in university environments for conducting Internet-based courses, distance learning programs or performing research on student learning behavior. A typical LMS performs the task of managing online learning, keeping track of student progress, and recording course completion (SILPA).2 2 Silpa available at: http://mse.byu.edu/projects/elc/ilsum.htm#silpa. However, many centralized LMSs are not flexible enough to deal with the personalized and dynamic learning needs of individual learners. More sophisticated LMSs which have the ability to dynamically adapt the material and to present instructional modules according to the learner's needs are needed to support shareable and collaborative learning environments. There has been no genuine effort to build a community-wide LMS for information sharing and collaborative learning. Considering the fact that the development of LMSs is an expensive and complex task, the development educational middleware (Fig. 1), a mediator system which aims to connect distributed LMSs to facilitate information sharing and collaborative learning, should be a critical goal. Fig. 1 Open in new tabDownload slide Distributed learning through educational middleware system. Fig. 1 Open in new tabDownload slide Distributed learning through educational middleware system. Integrated and cooperative educational middleware frameworks enable the development of instructional materials that can utilize heterogeneous, distributed learning sources. The key feature for an adaptive system of instruction is the ability to build and maintain a learner model. The learner model contains information on changing learner behavior (i.e. interactive history), evaluation of the learner's progress and feedback, and the learner's preferred learning style. According to Sternberg, pedagogical strategies should be applied based on information gained from a psychological profile, such as the thinking style of learner (Sternberg, 1997). An LMS that adapts its strategies can be a truly useful learning provider to the student and a technological aid to human instructors. Recent research (Brusilovsky, 1996) shows the feasibility of Adaptive Hypermedia systems. Built on a model of the goals, preferences, and knowledge of the individual user, the traversal behavior of these systems greatly increase the ability of the system to adapt to diverse learners. Efficient educational middleware can handle various learning objects (i.e. sequence of course content packaged as a module) and teaching operations over different systems. Our middleware system would allow the sharing and redistribution of faculty-developed or proprietary learning objects, and carry out collective learning as well as personalization of delivery across virtual learning communities (Carotenuto et al., 1999; Mamdani et al., 1999). Dynamic electronic communities can be formed for collaborative learning through a campus-wide LMS network as well as LMSs between campuses. Sharable courseware object reference model can be utilized to provide a common reference model for courseware sharing between multiple LMSs. LMS implementation of the reference model allows the launching of executable content on the learner's interface and the ability to exchange data with that content, further enabling dynamic presentation of course content and the collection of learner behavior data. The contribution of this work is the development of a framework for Community-Based Learning (CoBL).3 3 Community-based Learning System (CoBL): http://www.sice.umkc.edu/~leeyu/cobl.html. Our approach for the CoBL educational middleware is based on: (1) agents to manage individual learners and communities of learners; (2) a shared data model for integrating heterogeneous communities; and (3) a component-oriented development approach. The rest of paper is organized as follows. In Section 2 we present a framework that supports community-based learning using component-oriented framework, agent-based communication and shared data model. In Section 3 we present the CoBL architecture, specifications for its functionality, and the individual components contribution to the CoBL's functionality. In Section 4 we describe a brief example illustrating how the CoBL system supports community-based learning, data representation and exchange in the CoBL system and graphical user interfaces of the CoBL prototype. In Section 5 we review related works in web-based learning. We conclude in Section 6, where we summarize the main features of the CoBL system. 2 Overview of the Community-Based Learning framework The CoBL framework utilizes the advanced technologies of (1) component-oriented development, (2) agent-based communication and (3) shared data model. The paradigm of component-oriented development allows the design of learning support systems that are context-independent. Their construction and adaptation can be achieved without considerable effort and time. Distributed multi-agent technology (Lange et al., 1997) is employed in the system architecture to support communication and a shared data model is used for integrating heterogeneous communities. This enables functionality not only within a virtual learning community but also between virtual learning communities. A component-oriented paradigm (D'Souza and Wills, 1999; Szyperski, 1998) was used to develop the CoBL framework. The framework maintains generic patterns, which describe state, behavior, and constraints of contents and activities required for CoBL. These can be customized for specific learning situations and learning components. The CoBL framework manages learner profiles and pedagogical patterns using rules and constraints to determine which learning pattern is appropriate for particular learning situations. The CoBL framework is required to deal with diverse learners and heterogeneous learning materials in a distributed learning environment. The focus on autonomous components allows a complex system to be considered as an arbitrary number of smaller cohesive components. Well-defined interfaces allow the components to communicate and collaborate with each other. No interception or master component is needed, allowing the development of a virtual community space (Carotenuto et al., 1999). The functionality of our CoBL framework is divided into four different types of components (Fig. 2): space components (containers), active components (agents), resource components (knowledge bases, databases), and dynamic components (runtime environments). Each component plays an important role in supporting the paradigm. Space components contain their own active components, resource components and dynamic components. Resource components store domain knowledge relevant to the individual learner and lesson. Active components have special features giving them communication, autonomous, and proactive abilities (Wooldridge and Jennings, 1995). Active components also use resource components to generate dynamic components. Dynamic components are generated on-the-fly to make the decisions that are necessary to create dynamic views. These four component structures combine to form enhanced, adaptive and collaborative LMSs. Fig. 2 Open in new tabDownload slide CoBL space component. Fig. 2 Open in new tabDownload slide CoBL space component. The LMSs' plug-in points are ports that enable the mapping between global and local schema of LMSs. Templates of ports can be specialized with properties such as the port name, LMS name and its release number, the host machine name and its network address, the specialized learning topic and its presentation modes. Existing ports can be categorized by their properties and reused. LMSs can be thought of as learning plug-ins and can be extended or modified through operations such as composition and substitution because each learning plug-in contains multiple smaller components. These improved LMSs are the key to CoBL, a shareable and collaborative educational middleware system. Each LMS is made up of four space components: Learner space, Knowledge space, Presentation space, and Management space. The Learner space component manages the learners that use the LMS system and dynamically determines their optimal learning environment. The Knowledge space component provides efficient storage and management of domain knowledge. The Presentation space component provides various presentations reflecting the learners' preferred presentation mode. Finally, the Management space component coordinates the overall activities of these components in LMS. Each space component contains its own relevant resource components and active components which in turn create a unique dynamic view. For example, in the Knowledge space (space component), the Knowledge agents (active component) uses the Knowledge Network (resource component) to generate a Knowledge View (dynamic component). In the CoBL framework (Fig. 3) the term, Community Management System (CMS), refers to the virtual space to connect and share information between multiple LMSs. The learning channel lets LMSs plug into it, allowing CoBL to be delivered to the web based learner. The learning channel, inspired by the event system (Szyperski, 1998), allows a standardized interaction between components using agents and shared data models. An agent can subscribe to more than one topic and messages can be delivered to all the registered agents through a multicast mechanism. The use of agents to communicate and direct all external communication allows flexible and dynamic interaction between LMSs and CMSs. Communication performance is improved because the agents, which supply all communication and manager functions, are separated from the underlying logic of the system. Fig. 3 Open in new tabDownload slide Community-Based Learning (CoBL) framework. Fig. 3 Open in new tabDownload slide Community-Based Learning (CoBL) framework. Similar to LMSs, a CMS also has four different types of components (space, active, resource, dynamic) and is made up of four space components. Since a CMS deals with multiple LMSs and form learning communities, the major focus, unlike LMSs, is mapping and sharing resources between LMSs. Like LMSs, multiple CMSs forming virtual learning communities are possible. The two layers, CMSs and LMSs, use the Learning Channel to collaborate and share resources through virtual learning communities. The motivation behind the partition is to make each LMS and CMS independent and increase the scalability of the system. Several advantages are gained when this model is implemented. Both LMSs and CMSs as well as the individual space components that make them up are context-independent in the CoBL system. Plug-in design and the fractal structure of the CoBL model let components be replaced by other components with similar functionality but different characteristics. For example, a learning component for Mathematics can be easily transferable to other application contexts (e.g. Computer Science, etc). For instance, a learning plug-in package (e.g. ‘Algorithms’) contains components such as ‘Sorting’ or ‘Searching’ as well as components specific to its function. Thus by swapping out a few components, new LMSs or learning plug-ins can be developed as long as they follow the same rules and assumptions utilized by the replaced components. Similarly, the LMS built for a theory-oriented course (e.g. Mathematics) can be reused for a practice-oriented course (e.g. Software Engineering). Using these ‘off-the-shelf’ learning components ensures new learning applications can be developed with less effort and time. The advantages of the partitioning are to reduce unnecessary communication and also to distribute control and responsibility among independent components. This model is similar to the Dexter Reference model which partitions multi-agent systems into a presentation layer, the logical component layer and physical data layer (Halasz and Schwartz, 1994; Mamdani et al., 1999). This prevents a single computation/control bottleneck and provides a flexible mechanism for the distributed learning support system. Multiple agents collaborate to support Web-based distributed learning. As mentioned previously, the term agent is used to refer to an active component which has autonomous, communication, and proactive features (Mamdani et al., 1999; Wooldridge and Jennings, 1995). Learning support systems in complex and open environments, such as the Internet, must employ cooperative agents to support adaptive learning. Each agent focuses on its own specialized tasks, manages its own resources (resource component) and generates its specialized dynamic view. The control is distributed over the agent hierarchy so agents at a specific level make specific decisions. This avoids a single control point (bottleneck) and increases the efficiency, scalability and robustness of the system. Agents have many important features, which can enhance and support CoBL models. Recently, various software agent developments have gained much attention as alternatives to traditional client–server computing due to their social ability, intelligent decision-making capabilities, concurrent execution and mobility capabilities (Wooldridge and Jennings, 1995). Our multi-agent approach is different from current agent research, since we consider agents to be equal partners with the learner for the goal of the CoBL framework. Agents participate in many important tasks such as the collecting and analysis of the distributed learning patterns, retrieval of resources from repositories, delivery of services to learners and adaptation of the new patterns and services. For instance, by studying the learner's cognitive behavior, the agents can dynamically alter the course of learning content and presentation over time. Additionally, agents provide the mechanism to support unified communication through the Learning Channel; thus connecting multiple LMS and creating virtual learning communities (Carotenuto et al., 1999; Mamdani et al., 1999). Each LMS must have a well-defined interface (agent and shared data model) in order to work with other LMSs. Shared Data Models (XML),4 4 XML (Extensible Markup Language) available at: http://www.w3c.org/xml/. specifications for a standard information exchange mechanism on the Internet, play an important role in distributed computing environments. The shared data model represents structured information using encapsulation and grouping while maintaining a platform independent format. In addition, the shared data model provides mechanisms to quickly parse documents, extract data from data repositories, transform formatted data into different formats or generate multiple views for end-users. The shared data model can represent meta data to dynamically generate or select the course materials or their presentation. Currently, the most widely used shared data model specifications available for sharing educational information include the Universal Learning Format (Saba),5 5 Saba available at: http://www.saba.com. the Learning Material Markup Language (Süß, 2000) and the Learning Resource Meta-data Specification (IMS).6 6 IMS Learning Resource Meta-data Specification available at: http://www.imsproject.org. In our CoBL system, a shared data model is used to specify the systems' properties, including type, behavior, constraints and interactions with others. The student learner profiles and the system profiles are represented in the shared data model (Tables 3 and 4), so that they are exchangeable with other systems. 3 The CoBL system architecture In this section, the system architecture of the CoBL framework (Fig. 3) will be considered. Specifications for its functionality, how component-oriented development was utilized in its development and a brief example illustrating how the CoBL framework's architecture can provide flexibility, heterogeneity, scalability and openness are discussed. In addition, the four agent types and their roles in the CoBL framework are discussed. 3.1 Requirements for effective Community-Based Learning systems Adaptability. The key feature for CoBL is the ability to adapt dynamic learning environments. Appropriately customized ‘adaptive’ learning environments are directly related to learner performance outcomes and satisfaction. Resource sharing. Resource sharing, learning applications and data, in a distributed environment is vital. In addition, different access policies and restrictions need are available for different learners. Flexibility. As the system's load grows, it should be balanced by distributing the work among many machines, enabling an optimal use of resources. The learning support system must be flexible in order to accommodate different educational subjects, learning conditions and styles. Heterogeneity. The learning support system should support interactions among distributed components residing on different hardware and software platforms, via different types of networks and networking protocols. Scalability. The learning support system should tolerate increasing load. The load can be considered as the number of concurrent users or the number of transactions the system has to execute in a given period of time. System architecture must be scalable and extensible for diverse data sources. Openness. The objective of the CoBL model is to provide collaborative learning opportunities through open learning communities. Thus, the target system should be easily extended and modified through well-defined interfaces. 3.2 The Learner space component Adaptive learning is not possible without being able to identify individual learner styles. The CoBL educational middleware develops a learner model for each individual learner. How the learner is defined by the educational middleware directly impacts how well it can provide adaptive and collaborative learning. We consider the learner to be a self-motivated individual with specific learning objectives. The learner model representation must be robust enough to take into account these different learning objectives. Also, in our learner model, the learner has an associated Thinking Style preference. As an example, some learners are more comfortable learning a topic by first getting a subject overview and being shown how each topic in the subject is related, whereas a different learner might prefer to focus on a specific topic and not be distracted by the larger picture. These two styles, roughly corresponding to ‘Global’ and ‘Local’ Thinking Styles, can be applied when customizing the lesson view for the learner. This customization includes selecting the type of learning activity best suited for knowledge ‘internalization’ by the learner as well as identifying an appropriate tool for learning assessment. The main purpose of the Learner space component is to manage the learners that use the LMS system and dynamically determine their learning style to ensure optimal learning environments for the learners. In CMS this component manages learner profiles and patterns discovered from different LMSs system. Within the Learner space component, a dynamic learner model (Learner View) is generated based on the Learner Profile. The Learner View describes the learner's generalized objective, behavior, learning performance and Sternberg's (1997) thinking style model. The following BNF grammar describes the content of a dynamic Learner View including desired content and customization of views. LEARNER_VIEWS=profile|LEARNING_SEQUENCE∗|LEARNING_DURATION|LEARNER_EVALUATION LEARNER_EVALUATION=LEARNER_PERFORMANCE|LEARNER_SATISFACTION|LEARNER_UTILITY LEARNING_SEQUENCE=LEARNING_ELEMENT_COMPONENT+ LEARNING_ELEMENT_COMPONENT=learning_element_id LEARNING_DURATION=TIME TIME=days|minutes LEARNER_THINKING_STYLE=global|local|structural|flat|top-down|bottom-up LEARNER_PERFORMANCE=high|medium|low LEARNER_SATISFACTION=high|medium|low LEARNER_UTILITY=high|medium|low More specifically, the Learner space component will perform the following functions: Store data related to users of the system. This includes personal information, information regarding each learner's style of thinking, and information regarding each learner's current performance and satisfaction state. This information will be stored so that it will be available each time the user logs in. Initially determine the learner's thinking style. The Learner space component will make an initial assessment of the learner's thinking style from a series of questions to the learner. Update learner information as needed. Based upon user feedback regarding their current state of self-efficacy, the Learner space component will adjust the user's profile. Assess what the user has learned. Based upon data from the Knowledge space component, the Learner space component will assess what the user has learned through questions and problems. Upon completing the assessment, the user will receive detailed feedback on what they have completed. Accept user feedback. Upon completion of a section, the user may offer feedback on how the information was presented and the level of complexity. This information will be used to adjust the user's profile. Interface with the Knowledge and Presentation space components. The Learner space component will communicate with the Knowledge and Presentation space component to share user information and data for the learner's assessment. 3.3 The Knowledge space component The major role of the Knowledge space component is to provide efficient storage and management of domain knowledge. One popular representation of domain knowledge is a concept hierarchy model shown below (Fig. 4). For the CoBL system, a concept hierarchy called the Knowledge Network is constructed to represent content to be covered in web-based learning. Our Knowledge Network is a directed acyclic graph composed of nodes and links, where a node represents content and a link represents a relationship between content entities. The Knowledge Network represents concepts at different abstraction levels and combines multiple relationships including Is-a, Part-of, Contained-in, Assoc-with, Related-to, Example-of, Applicable-to, Easier-than, etc in a single intuitive hierarchy (Lee and Geller, 1996, 2002). Additionally, it represents relations between different knowledge subsets; this is required to indicate to what subject a particular topic is related. The relationships between topics are used to guide learners. Fig. 4 Open in new tabDownload slide Knowledge Network. Fig. 4 Open in new tabDownload slide Knowledge Network. The Knowledge Network is a static resource component, which is located in the Knowledge space component of an LMS and an CMS. Represented as a conceptual framework where agents are able to determine the level of abstraction for a given topic, it interprets relationships between topics, keeps track of the learning process and evaluates the progress of learners. A learning object in the Knowledge Network is associated with its level of difficulty, its type of knowledge, its problem solving strategy and its anticipated solution or explanation. Categories of knowledge type include declarative (awareness of facts), procedural (how to use declarative knowledge), and structural knowledge (an ability to drive linkage between prior and current knowledge and utilization of declarative and procedural knowledge) (Jonassen et al., 1993). The level of difficulty is defined as three levels (hard, intermediate and easy). The problem-solving strategy includes the modes: top-down or bottom-up. The anticipated solution slot describes some possible answers for a question or its explanation or examples for a concept. Quizzes, homework or lectures on a specific topic are attached to the topic nodes. Related problems or lecture notes are linked. The Knowledge View is a dynamic (customized) component of the Knowledge space. Based on the Learner Profile from the Learner space component the learning content (Knowledge View) is generated and sent to the Presentation space to be displayed. The Knowledge View customizes the learning object for the learner. A Knowledge agent using the shared data model will pass the knowledge view to other components of the LMS. The use of a standardized data model scheme allows communication to occur between different agents. The following BNF grammar shows the content of a dynamic Knowledge View including knowledge type and knowledge level KNOWLEDGE_VIEWS=KNOWLEDGE_TYPE|KNOWLEDGE_LEVEL|PROBLEM_SOLVING_BEHAVIOR KNOWLEDGE_TYPE=declarative|procedural|structural KNOWLEDGE_LEVEL=high|medium|low PROBLEM_SOLVING_BEHAVIOR=top-down|bottom-up A separate interface is provided to perform direct updating and manipulation of the Knowledge Network. Typical operations would involve addition of new data, deletion of old data, etc. The component-based architecture allows easy modification of Knowledge space components and Knowledge agents. A relational database is used to store the knowledge elements (learning objects). 3.4 The Presentation space component The Presentation space component responds to the learning proclivities of the learner as shown by the Learner's profile. Different Presentation Views present different experiences to the learner. In our LMS, we provide dynamic presentation views. A typical learning episode in an on-line learning environment may require a combination of different Presentation Views. The Presentation Views include instruction modes (guided, discovery), presentation mode (e-book, e-game, discussion) and presentation strategy (top-down, bottom-up, local, global, hierarchical, and flat). Learner driven instruction can be effective and flexible, allowing an instructor to communicate whatever types of presentation of knowledge a learner might need in some situations. The following BNF grammar shows the content of a dynamic Knowledge View PRESENTATION_VIEWS=INSTRUCTION_MODE|PRESENTATION_MODE|INSTRUCTION_STYLE SYSTEM_EVALUATION=SYSTEM_PERFORMANCE|SYSTEM_SATISFACTION|SYSTEM_UTILITY INSTRUCTION_MODE=guided|discovery PRESENTATION_MODE=e-book|e-game|group-discussion PRESENTATION_STRATEGY=top-down|bottom-up|local|global|hierarchical|flat INTERACTION_MODE=collaborative|Individual INSTRUCTION_STYLE=model-based|content-based The Presentation space component provides various presentations reflecting the learners' preferred presentation mode. For example, a request for information may generate a large retrieval set. The learner might be interested in only one aspect of the information actually retrieved, or in a summary of the entire retrieval set. The customized presentation/summarization capabilities of the system are necessary for a CoBL environment. To support this flexibility, an appropriate presentation mode is selected for the Presentation Views. 3.5 The LMS agents The control structure for an LMS (Fig. 5) is hierarchical. Each component has a manager to handle its own agents. A manager agent manages the agents within its own space, makes decision for its own task and communicates with other managers. Table 1 describes the agents in an LMS in terms of their type, role and space, resource, dynamic components. Table 1 The LMS agents Agent type . Role . Space component . Resource component . Dynamic component . LMS manager A decision-maker at the LMS level on user's adaptive learning environment based on the information from the three specialized agents (learner, knowledge, presentation) Management space Management repository Management view Learner agent manager A manager of the learner agents Learner space Learner profile Learner view • Generate learner views based on the learner profile determined by learner agents  Learner agent An expert on a specific learner variable (such as thinking style, learning behavior, etc) Learner space Learner profile • Maintain learner profile • Monitor/analyze the learner's patterns • Collaborate with other learner agents to determine learner profile  Knowledge agent manager A manager of knowledge agents Knowledge space Knowledge network Knowledge view • Generate a Knowledge view through collaboration with knowledge agents • Provide a directory service to knowledge agents who is seeking particular topic content  Knowledge agent An expert on a specific topics Knowledge space Knowledge network • Maintain the learning object • Determine the topic, the level and the knowledge type • Create, modify, and publish learning objects  Presentation agent manager Generate a Presentation view based on feedback from presentation agents Presentation space Presentation repository Presentation view Presentation agent Handle presentation mode (game-based or hypermedia guided learning), instruction strategy (model-based, problem-solving-based or theory-based learning) and refine its instruction presentation and sequencing Presentation space Presentation repository Agent type . Role . Space component . Resource component . Dynamic component . LMS manager A decision-maker at the LMS level on user's adaptive learning environment based on the information from the three specialized agents (learner, knowledge, presentation) Management space Management repository Management view Learner agent manager A manager of the learner agents Learner space Learner profile Learner view • Generate learner views based on the learner profile determined by learner agents  Learner agent An expert on a specific learner variable (such as thinking style, learning behavior, etc) Learner space Learner profile • Maintain learner profile • Monitor/analyze the learner's patterns • Collaborate with other learner agents to determine learner profile  Knowledge agent manager A manager of knowledge agents Knowledge space Knowledge network Knowledge view • Generate a Knowledge view through collaboration with knowledge agents • Provide a directory service to knowledge agents who is seeking particular topic content  Knowledge agent An expert on a specific topics Knowledge space Knowledge network • Maintain the learning object • Determine the topic, the level and the knowledge type • Create, modify, and publish learning objects  Presentation agent manager Generate a Presentation view based on feedback from presentation agents Presentation space Presentation repository Presentation view Presentation agent Handle presentation mode (game-based or hypermedia guided learning), instruction strategy (model-based, problem-solving-based or theory-based learning) and refine its instruction presentation and sequencing Presentation space Presentation repository Open in new tab Table 1 The LMS agents Agent type . Role . Space component . Resource component . Dynamic component . LMS manager A decision-maker at the LMS level on user's adaptive learning environment based on the information from the three specialized agents (learner, knowledge, presentation) Management space Management repository Management view Learner agent manager A manager of the learner agents Learner space Learner profile Learner view • Generate learner views based on the learner profile determined by learner agents  Learner agent An expert on a specific learner variable (such as thinking style, learning behavior, etc) Learner space Learner profile • Maintain learner profile • Monitor/analyze the learner's patterns • Collaborate with other learner agents to determine learner profile  Knowledge agent manager A manager of knowledge agents Knowledge space Knowledge network Knowledge view • Generate a Knowledge view through collaboration with knowledge agents • Provide a directory service to knowledge agents who is seeking particular topic content  Knowledge agent An expert on a specific topics Knowledge space Knowledge network • Maintain the learning object • Determine the topic, the level and the knowledge type • Create, modify, and publish learning objects  Presentation agent manager Generate a Presentation view based on feedback from presentation agents Presentation space Presentation repository Presentation view Presentation agent Handle presentation mode (game-based or hypermedia guided learning), instruction strategy (model-based, problem-solving-based or theory-based learning) and refine its instruction presentation and sequencing Presentation space Presentation repository Agent type . Role . Space component . Resource component . Dynamic component . LMS manager A decision-maker at the LMS level on user's adaptive learning environment based on the information from the three specialized agents (learner, knowledge, presentation) Management space Management repository Management view Learner agent manager A manager of the learner agents Learner space Learner profile Learner view • Generate learner views based on the learner profile determined by learner agents  Learner agent An expert on a specific learner variable (such as thinking style, learning behavior, etc) Learner space Learner profile • Maintain learner profile • Monitor/analyze the learner's patterns • Collaborate with other learner agents to determine learner profile  Knowledge agent manager A manager of knowledge agents Knowledge space Knowledge network Knowledge view • Generate a Knowledge view through collaboration with knowledge agents • Provide a directory service to knowledge agents who is seeking particular topic content  Knowledge agent An expert on a specific topics Knowledge space Knowledge network • Maintain the learning object • Determine the topic, the level and the knowledge type • Create, modify, and publish learning objects  Presentation agent manager Generate a Presentation view based on feedback from presentation agents Presentation space Presentation repository Presentation view Presentation agent Handle presentation mode (game-based or hypermedia guided learning), instruction strategy (model-based, problem-solving-based or theory-based learning) and refine its instruction presentation and sequencing Presentation space Presentation repository Open in new tab Fig. 5 Open in new tabDownload slide LMS agent hierarchy. Fig. 5 Open in new tabDownload slide LMS agent hierarchy. Presentation agents are activated when a request for a learning episode from the current Knowledge space component or Learner space component is made. Guided by the current learning situation, they dynamically form an adaptive sharable learning environment that fits the current learning process. This learning environment will change over time to optimize the learner's adaptive learning session. In the LMS, managers and agents continuously communicate, coordinate, and execute adaptive learning. In this architecture, the intermediate decisions for creating the learning environment are made by the managers in the three components (Learner space, Knowledge space, Presentation space) before control is passed to the manager in the LMS. With the distribution of control as illustrated above (Fig. 5), the manager in the LMS is a critical point of control for establishing an optimal learning environment. In order to avoid the risk of a bottleneck, we modify the hierarchical structure by allowing communication at the intermediate level (among the managers of the three components) for more dynamic and flexible operations. This arrangement was inspired by InfoSleuth (Nodine, 1998). 3.6 The CMS agents In the more comprehensive CoBL architecture we provide distributed collaboration between networked LMSs through our educational middleware (CMS) (Fig. 6). From a university teaching point-of-view, collaborative learning allows departmental level management of instructional systems, as well as a means to integrate and analyze the learning pattern for an individual student taking various courses offered by that department. Fig. 6 Open in new tabDownload slide CMS agent hierarchy. Fig. 6 Open in new tabDownload slide CMS agent hierarchy. Distributed collaboration is facilitated through the use of four agent types which allow collaborative decision making to occur. This increases efficiency, scalability and robustness of the system. The CMS agents can communicate locally through Internal communication links and also communicate with agents in LMSs through the Learning Channel. As mentioned previously, agents use a port to plug into the Learning Channel to communicate between space components (e.g. communication between CMSs, LMSs or CMSs and LMSs). Table 2 illustrates how CMS agents interface among themselves as well as process information received from multiple LMSs. Table 2 CMS agents Agent type . Role . Component . Community-agent manager Top-level decision maker for an optimal learning environment based on inputs from the three specialized community agents (community-learner, community-knowledge and community-presentation) Management space Community-learner agent Manages the learner profiles from different LMSs to share them among learners in community-based systems Learner space Community-knowledge agent Manages domain knowledge from different LMSs including naming (retrieving learning objects based on the name or location) and trading services (searching learning objects based on the characteristics of topic) Knowledge space Community-presentation agent Manages presentation strategies and models from different LMSs Presentation space Agent type . Role . Component . Community-agent manager Top-level decision maker for an optimal learning environment based on inputs from the three specialized community agents (community-learner, community-knowledge and community-presentation) Management space Community-learner agent Manages the learner profiles from different LMSs to share them among learners in community-based systems Learner space Community-knowledge agent Manages domain knowledge from different LMSs including naming (retrieving learning objects based on the name or location) and trading services (searching learning objects based on the characteristics of topic) Knowledge space Community-presentation agent Manages presentation strategies and models from different LMSs Presentation space Open in new tab Table 2 CMS agents Agent type . Role . Component . Community-agent manager Top-level decision maker for an optimal learning environment based on inputs from the three specialized community agents (community-learner, community-knowledge and community-presentation) Management space Community-learner agent Manages the learner profiles from different LMSs to share them among learners in community-based systems Learner space Community-knowledge agent Manages domain knowledge from different LMSs including naming (retrieving learning objects based on the name or location) and trading services (searching learning objects based on the characteristics of topic) Knowledge space Community-presentation agent Manages presentation strategies and models from different LMSs Presentation space Agent type . Role . Component . Community-agent manager Top-level decision maker for an optimal learning environment based on inputs from the three specialized community agents (community-learner, community-knowledge and community-presentation) Management space Community-learner agent Manages the learner profiles from different LMSs to share them among learners in community-based systems Learner space Community-knowledge agent Manages domain knowledge from different LMSs including naming (retrieving learning objects based on the name or location) and trading services (searching learning objects based on the characteristics of topic) Knowledge space Community-presentation agent Manages presentation strategies and models from different LMSs Presentation space Open in new tab 4 The CoBL implementation We have developed an early prototype of the CoBL system. Our CoBL prototype is currently implemented using IBM Aglets (Lange et al., 1997), Java, and XML. Here, we present a brief look at our implementation (CoBL;3Hetherington et al., 2001). First, we present how the CoBL system is used in real world situation. Then, the shared data representation in CoBL is discussed. Finally, the graphical user interfaces of the CoBL prototype are presented. 4.1 Using the CoBL system Here at the University of Missouri at Kansas City School of Interdisciplinary Computing and Engineering, a Virtual University program is offered which allows degree-seeking students to take several Information Technologies and Computer Science courses online for credit. Over 20 such courses are currently being offered. In its present implementation, the online learning component is restricted to web-based lecture presentations and streaming audio recordings. While such teaching approaches have been especially beneficial to non-traditional learners, in general, instructors do not have a way to keep track of their students' usage and engagement with the online material. Also, information on the online learning behavior of a student taking different courses cannot be analyzed for common learning patterns. This makes it difficult for instructors to customize their course material to fit the learning preferences of individual students. We would like to incorporate a way for individual learners' profiles to be stored, updated, and used to dynamically tailor the online learning experience for every individual student, while at the same time extending this across a set of related courses available in community-based systems. The concept of the CoBL system gives us a framework in which to build such a system. For illustration, let us take as an example scenario, a student who is enrolled in the online Discrete Structures I course, a prerequisite for the more advanced courses, Discrete Structures II course and Introduction to Data Structures course. In the CoBL system students carry out online learning through their respective LMS for the enrolled courses. Each learner's interactive session and their LMS feedback data are collected. The feedback data are used by the LMS to update the student's learner profile for the course. However it is also forwarded to the CMS which uses it to update the CMS's overall learner profile. The CMS learner profile is aggregate and is developed using information from multiple student learners. Both the now refined student individual learner profile and the CMS learner profile are incorporated into the next learning session. Activities specific to the three space components, presentation, knowledge, and learner, which occur when a student accesses the Discrete Structures I LMS are detailed below Learner space component. If it is a student's first session with the system, an electronic learner profile is generated and stored by the LMS' Learner space component. Returning users will have their existing learner profiles retrieved from persistent storage. The Learner space component determines what type of instruction material is appropriate for the learning session, such as a lecture unit (topic overview, topic definitions, topic elaboration, or related examples), learning activities (exercises or simulations) or an evaluation unit (quizzes or tests). Based on the learner profile, the component also determines the level of difficulty appropriate for the instruction material. Note this allows both Discrete Structures I and Discrete Structures II learning sessions to be hosted by the same LMS unit. Knowledge space component. Based on the learner profile generated by the Learner space component, the Knowledge space component assembles the instruction material from its own knowledge network or from other networked LMS via the CMS component, as detailed in Section 3.3. The bundled instruction content is passed to the Presentation space component of the LMS. Presentation space component. The Presentation space component generates the instructional display for the learner, as detailed in Section 3.4. For our Discrete Structures student, the learning session is carried out as an ‘electronic book’ study, topic-driven discussion space or as an ‘electronic game’ with embedded instructional material. Interactive feedback from the learner is collected throughout the session and then returned to the Learner space component. Based on the feedback, the LMS updates the learner profile information, recording for instance if the topic was fully covered during the e-book study, or if the quiz results from the latest session were inconsistent with the learner's previous recorded quiz average. Apart from being able to provide useful information about individual learners to the human instructor or course facilitator, the LMS can use the data to refine its own system profile. In this way, the instructional mechanism is continuously optimizing its own teaching strategy. The LMS framework described above can be adapted to different courses. A similar LMS for the course, Introduction to Data Structures could be introduced, for example, by changing the content of the knowledge base in its Knowledge space component. However, different presentation views might also have to be developed for the Presentation space component in the new LMS, to match subject-specific teaching methods through the educational middleware, CMS. 4.2 Data representation in CoBL We adopted Extensible Markup Language (XML) for providing interaction between agents in the CoBL system. Specifically, agent communication properties including their type, behavior, and related semantics are defined in XML. For instance, an undergraduate student's learner profile can be shared between different LMSs across community-based systems, where each LMS handles department specific courses. XML allows metadata to be stored for the LMS to use to select and adapt the course material presentation. The XML document containing the learner information can be generated from back-end enterprise databases. For example from an employee or student records database XML provides us with a mechanism, by adding on user-defined tags, for extending elements in the learner information document. We can also define entities to refer to data in non-XML storage formats, such as official academic transcript records. XML-based interaction between agents or data integration is performed through the support of formalized data representation mechanisms such as DTDs or XML Schema. Table 3 shows an XML-based Learner Profile inspired by Sternberg's (1997) model. Table 3 Learner profile DTD 〈?xml version=“1.0” encoding=“utf-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (LEARNER_PROFILE)〉 〈!ELEMENT LEARNER_PROFILE (COGNITIVE_STYLE)〉 〈!ATTLIST LEARNER_PROFILE LEARNER_ID ID #REQUIRED〉 〈!ELEMENT COGNITIVE_STYLE (ORDER_ORIENTATION, PROBOLEM_SOLVING_ORIENTATION, DIRECTION_ORIENTATION, VIEW_ORIENTATION, INTERACTION_ORIENTATION, FOCUS_ORIENTATION, FLEXIBILITY_ORIENTATION)〉 〈!ELEMENT ORDER_ORIENTATION (In-Order|No-Order)〉 〈!ELEMENT PROBLEM_SOLVING_ORIENTATION (Top-Down|Bottom-Up)〉 〈!ELEMENT DIRECTION_ORIENTATION (Global|Local)〉 〈!ELEMENT VIEW_ORIENTATION (Internal|External)〉 〈!ELEMENT INTERACTION_ORIENTATION (Collaborative|Individual)〉 〈!ELEMENT FOCUS_ORIENTATION (Parallel|Sequential)〉 〈!ELEMENT FLEXIBILITY_ORIENTATION (Liberal|Conservative)〉 〈!ELEMENT In-Order (#PCDATA)〉 〈!ELEMENT No-Order (#PCDATA)〉 〈!ELEMENT Top-Down (#PCDATA)〉 〈!ELEMENT Bottom-Up (#PCDATA)〉 〈!ELEMENT Global (#PCDATA)〉 〈!ELEMENT Local (#PCDATA)〉 〈!ELEMENT Internal (#PCDATA)〉 〈!ELEMENT External (#PCDATA)〉 〈!ELEMENT Collaborative (#PCDATA)〉 〈!ELEMENT Individual (#PCDATA)〉 〈!ELEMENT Parallel (#PCDATA)〉 〈!ELEMENT Sequential (#PCDATA)〉 〈!ELEMENT Liberal (#PCDATA)〉 〈!ELEMENT Conservative (#PCDATA)〉 ]〉 〈?xml version=“1.0” encoding=“utf-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (LEARNER_PROFILE)〉 〈!ELEMENT LEARNER_PROFILE (COGNITIVE_STYLE)〉 〈!ATTLIST LEARNER_PROFILE LEARNER_ID ID #REQUIRED〉 〈!ELEMENT COGNITIVE_STYLE (ORDER_ORIENTATION, PROBOLEM_SOLVING_ORIENTATION, DIRECTION_ORIENTATION, VIEW_ORIENTATION, INTERACTION_ORIENTATION, FOCUS_ORIENTATION, FLEXIBILITY_ORIENTATION)〉 〈!ELEMENT ORDER_ORIENTATION (In-Order|No-Order)〉 〈!ELEMENT PROBLEM_SOLVING_ORIENTATION (Top-Down|Bottom-Up)〉 〈!ELEMENT DIRECTION_ORIENTATION (Global|Local)〉 〈!ELEMENT VIEW_ORIENTATION (Internal|External)〉 〈!ELEMENT INTERACTION_ORIENTATION (Collaborative|Individual)〉 〈!ELEMENT FOCUS_ORIENTATION (Parallel|Sequential)〉 〈!ELEMENT FLEXIBILITY_ORIENTATION (Liberal|Conservative)〉 〈!ELEMENT In-Order (#PCDATA)〉 〈!ELEMENT No-Order (#PCDATA)〉 〈!ELEMENT Top-Down (#PCDATA)〉 〈!ELEMENT Bottom-Up (#PCDATA)〉 〈!ELEMENT Global (#PCDATA)〉 〈!ELEMENT Local (#PCDATA)〉 〈!ELEMENT Internal (#PCDATA)〉 〈!ELEMENT External (#PCDATA)〉 〈!ELEMENT Collaborative (#PCDATA)〉 〈!ELEMENT Individual (#PCDATA)〉 〈!ELEMENT Parallel (#PCDATA)〉 〈!ELEMENT Sequential (#PCDATA)〉 〈!ELEMENT Liberal (#PCDATA)〉 〈!ELEMENT Conservative (#PCDATA)〉 ]〉 Open in new tab Table 3 Learner profile DTD 〈?xml version=“1.0” encoding=“utf-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (LEARNER_PROFILE)〉 〈!ELEMENT LEARNER_PROFILE (COGNITIVE_STYLE)〉 〈!ATTLIST LEARNER_PROFILE LEARNER_ID ID #REQUIRED〉 〈!ELEMENT COGNITIVE_STYLE (ORDER_ORIENTATION, PROBOLEM_SOLVING_ORIENTATION, DIRECTION_ORIENTATION, VIEW_ORIENTATION, INTERACTION_ORIENTATION, FOCUS_ORIENTATION, FLEXIBILITY_ORIENTATION)〉 〈!ELEMENT ORDER_ORIENTATION (In-Order|No-Order)〉 〈!ELEMENT PROBLEM_SOLVING_ORIENTATION (Top-Down|Bottom-Up)〉 〈!ELEMENT DIRECTION_ORIENTATION (Global|Local)〉 〈!ELEMENT VIEW_ORIENTATION (Internal|External)〉 〈!ELEMENT INTERACTION_ORIENTATION (Collaborative|Individual)〉 〈!ELEMENT FOCUS_ORIENTATION (Parallel|Sequential)〉 〈!ELEMENT FLEXIBILITY_ORIENTATION (Liberal|Conservative)〉 〈!ELEMENT In-Order (#PCDATA)〉 〈!ELEMENT No-Order (#PCDATA)〉 〈!ELEMENT Top-Down (#PCDATA)〉 〈!ELEMENT Bottom-Up (#PCDATA)〉 〈!ELEMENT Global (#PCDATA)〉 〈!ELEMENT Local (#PCDATA)〉 〈!ELEMENT Internal (#PCDATA)〉 〈!ELEMENT External (#PCDATA)〉 〈!ELEMENT Collaborative (#PCDATA)〉 〈!ELEMENT Individual (#PCDATA)〉 〈!ELEMENT Parallel (#PCDATA)〉 〈!ELEMENT Sequential (#PCDATA)〉 〈!ELEMENT Liberal (#PCDATA)〉 〈!ELEMENT Conservative (#PCDATA)〉 ]〉 〈?xml version=“1.0” encoding=“utf-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (LEARNER_PROFILE)〉 〈!ELEMENT LEARNER_PROFILE (COGNITIVE_STYLE)〉 〈!ATTLIST LEARNER_PROFILE LEARNER_ID ID #REQUIRED〉 〈!ELEMENT COGNITIVE_STYLE (ORDER_ORIENTATION, PROBOLEM_SOLVING_ORIENTATION, DIRECTION_ORIENTATION, VIEW_ORIENTATION, INTERACTION_ORIENTATION, FOCUS_ORIENTATION, FLEXIBILITY_ORIENTATION)〉 〈!ELEMENT ORDER_ORIENTATION (In-Order|No-Order)〉 〈!ELEMENT PROBLEM_SOLVING_ORIENTATION (Top-Down|Bottom-Up)〉 〈!ELEMENT DIRECTION_ORIENTATION (Global|Local)〉 〈!ELEMENT VIEW_ORIENTATION (Internal|External)〉 〈!ELEMENT INTERACTION_ORIENTATION (Collaborative|Individual)〉 〈!ELEMENT FOCUS_ORIENTATION (Parallel|Sequential)〉 〈!ELEMENT FLEXIBILITY_ORIENTATION (Liberal|Conservative)〉 〈!ELEMENT In-Order (#PCDATA)〉 〈!ELEMENT No-Order (#PCDATA)〉 〈!ELEMENT Top-Down (#PCDATA)〉 〈!ELEMENT Bottom-Up (#PCDATA)〉 〈!ELEMENT Global (#PCDATA)〉 〈!ELEMENT Local (#PCDATA)〉 〈!ELEMENT Internal (#PCDATA)〉 〈!ELEMENT External (#PCDATA)〉 〈!ELEMENT Collaborative (#PCDATA)〉 〈!ELEMENT Individual (#PCDATA)〉 〈!ELEMENT Parallel (#PCDATA)〉 〈!ELEMENT Sequential (#PCDATA)〉 〈!ELEMENT Liberal (#PCDATA)〉 〈!ELEMENT Conservative (#PCDATA)〉 ]〉 Open in new tab Table 4 shows an XML-based System Profile DTD that describes three different dynamic views (Learner View, Knowledge View, and Presentation View), learning process and system's performance. Table 4 System profile DTD 〈?xml version=“1.0” encoding=“UTF-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (SYSTEM_PROFILE)〉 〈!ELEMENT SYSTEM_PROFILE (LEARNER_VIEWS, KNOWLEDGE_VIEWS, PRESENTATION_VIEWS, SYSTEM_EVALUATION)〉 〈!ATTLIST SYSTEM_PROFILE SYSTEM_ID ID #REQUIRED〉 〈!ELEMENT LEARNER_VIEWS (profile, LEARNING_SEQUENCE∗, LEARNING_DURATION?, LEARNER_EVALUATION?〉 〈!ELEMENT KNOWLEDGE_VIEWS (KNOWLEDGE_TYPE, KNOWLEDGE_LEVEL, PROBLEM_SOLVING_BEHAVIOR)〉 〈!ELEMENT PRESENTATION_VIEWS (INSTRUCTION_MODE, PRESENTATION_MODE, INSTRUCTION_STYLE)〉 〈!ELEMENT SYSTEM_EVALUATION (SYSTEM_PERFORMANCE, SYSTEM_SATISFACTION, SYSTEM_UTILITY)〉 〈!ELEMENT profile (#PCDATA)〉〈!–This is the LEARNER_ID–〉 〈!ELEMENT LEARNING_SEQUENCE (LEARNING_ELEMENT_COMPONENT+)〉 〈!ELEMENT LEARNING_ELEMENT_COMPONENT (#PCDATA)〉〈!–This is the Learning_Element_Component_ID–〉 〈!ELEMENT LEARNING_DURATION (TIME)〉 〈!ELEMENT TIME (days, minutes)〉 〈!ELEMENT days (#PCDATA)〉 〈!ELEMENT minutes (#PCDATA)〉 〈!ELEMENT LEARNER_EVALUATION (LEARNER_PERFORMANCE, LEARNER_SATISFACTION, LEARNER_UTILITY)〉 〈!ELEMENT LEARNER_PERFORMANCE (high|medium|low)〉 〈!ELEMENT LEARNER_SATISFACTION (high|medium|low)〉 〈!ELEMENT LEARNER_UTILITY (high|medium|low)〉 〈!ELEMENT KNOWLEDGE_TYPE (declarative|procedural|structural)〉 〈!ELEMENT KNOWLEDGE_LEVEL (high|medium|low)〉 〈!ELEMENT PROBLEM_SOLVING_BEHAVIOR (top-down|bottom-up)〉 〈!ELEMENT INSTRUCTION_MODE (self-guided|discovery)〉 〈!ELEMENT PRESENTATION_MODE (e-book|e-game|other)〉 〈!ELEMENT INTERACTION_MODE (collaborative|individual)〉 〈!ELEMENT INSTRUCTION_STYLE (model-based|content-based)〉 〈!ELEMENT SYSTEM_PERFORMANCE (high|medium|low)〉 〈!ELEMENT SYSTEM_SATISFACTION (high|medium|low)〉 〈!ELEMENT SYSTEM_UTILITY (high|medium|low)〉 ]〉 〈?xml version=“1.0” encoding=“UTF-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (SYSTEM_PROFILE)〉 〈!ELEMENT SYSTEM_PROFILE (LEARNER_VIEWS, KNOWLEDGE_VIEWS, PRESENTATION_VIEWS, SYSTEM_EVALUATION)〉 〈!ATTLIST SYSTEM_PROFILE SYSTEM_ID ID #REQUIRED〉 〈!ELEMENT LEARNER_VIEWS (profile, LEARNING_SEQUENCE∗, LEARNING_DURATION?, LEARNER_EVALUATION?〉 〈!ELEMENT KNOWLEDGE_VIEWS (KNOWLEDGE_TYPE, KNOWLEDGE_LEVEL, PROBLEM_SOLVING_BEHAVIOR)〉 〈!ELEMENT PRESENTATION_VIEWS (INSTRUCTION_MODE, PRESENTATION_MODE, INSTRUCTION_STYLE)〉 〈!ELEMENT SYSTEM_EVALUATION (SYSTEM_PERFORMANCE, SYSTEM_SATISFACTION, SYSTEM_UTILITY)〉 〈!ELEMENT profile (#PCDATA)〉〈!–This is the LEARNER_ID–〉 〈!ELEMENT LEARNING_SEQUENCE (LEARNING_ELEMENT_COMPONENT+)〉 〈!ELEMENT LEARNING_ELEMENT_COMPONENT (#PCDATA)〉〈!–This is the Learning_Element_Component_ID–〉 〈!ELEMENT LEARNING_DURATION (TIME)〉 〈!ELEMENT TIME (days, minutes)〉 〈!ELEMENT days (#PCDATA)〉 〈!ELEMENT minutes (#PCDATA)〉 〈!ELEMENT LEARNER_EVALUATION (LEARNER_PERFORMANCE, LEARNER_SATISFACTION, LEARNER_UTILITY)〉 〈!ELEMENT LEARNER_PERFORMANCE (high|medium|low)〉 〈!ELEMENT LEARNER_SATISFACTION (high|medium|low)〉 〈!ELEMENT LEARNER_UTILITY (high|medium|low)〉 〈!ELEMENT KNOWLEDGE_TYPE (declarative|procedural|structural)〉 〈!ELEMENT KNOWLEDGE_LEVEL (high|medium|low)〉 〈!ELEMENT PROBLEM_SOLVING_BEHAVIOR (top-down|bottom-up)〉 〈!ELEMENT INSTRUCTION_MODE (self-guided|discovery)〉 〈!ELEMENT PRESENTATION_MODE (e-book|e-game|other)〉 〈!ELEMENT INTERACTION_MODE (collaborative|individual)〉 〈!ELEMENT INSTRUCTION_STYLE (model-based|content-based)〉 〈!ELEMENT SYSTEM_PERFORMANCE (high|medium|low)〉 〈!ELEMENT SYSTEM_SATISFACTION (high|medium|low)〉 〈!ELEMENT SYSTEM_UTILITY (high|medium|low)〉 ]〉 Open in new tab Table 4 System profile DTD 〈?xml version=“1.0” encoding=“UTF-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (SYSTEM_PROFILE)〉 〈!ELEMENT SYSTEM_PROFILE (LEARNER_VIEWS, KNOWLEDGE_VIEWS, PRESENTATION_VIEWS, SYSTEM_EVALUATION)〉 〈!ATTLIST SYSTEM_PROFILE SYSTEM_ID ID #REQUIRED〉 〈!ELEMENT LEARNER_VIEWS (profile, LEARNING_SEQUENCE∗, LEARNING_DURATION?, LEARNER_EVALUATION?〉 〈!ELEMENT KNOWLEDGE_VIEWS (KNOWLEDGE_TYPE, KNOWLEDGE_LEVEL, PROBLEM_SOLVING_BEHAVIOR)〉 〈!ELEMENT PRESENTATION_VIEWS (INSTRUCTION_MODE, PRESENTATION_MODE, INSTRUCTION_STYLE)〉 〈!ELEMENT SYSTEM_EVALUATION (SYSTEM_PERFORMANCE, SYSTEM_SATISFACTION, SYSTEM_UTILITY)〉 〈!ELEMENT profile (#PCDATA)〉〈!–This is the LEARNER_ID–〉 〈!ELEMENT LEARNING_SEQUENCE (LEARNING_ELEMENT_COMPONENT+)〉 〈!ELEMENT LEARNING_ELEMENT_COMPONENT (#PCDATA)〉〈!–This is the Learning_Element_Component_ID–〉 〈!ELEMENT LEARNING_DURATION (TIME)〉 〈!ELEMENT TIME (days, minutes)〉 〈!ELEMENT days (#PCDATA)〉 〈!ELEMENT minutes (#PCDATA)〉 〈!ELEMENT LEARNER_EVALUATION (LEARNER_PERFORMANCE, LEARNER_SATISFACTION, LEARNER_UTILITY)〉 〈!ELEMENT LEARNER_PERFORMANCE (high|medium|low)〉 〈!ELEMENT LEARNER_SATISFACTION (high|medium|low)〉 〈!ELEMENT LEARNER_UTILITY (high|medium|low)〉 〈!ELEMENT KNOWLEDGE_TYPE (declarative|procedural|structural)〉 〈!ELEMENT KNOWLEDGE_LEVEL (high|medium|low)〉 〈!ELEMENT PROBLEM_SOLVING_BEHAVIOR (top-down|bottom-up)〉 〈!ELEMENT INSTRUCTION_MODE (self-guided|discovery)〉 〈!ELEMENT PRESENTATION_MODE (e-book|e-game|other)〉 〈!ELEMENT INTERACTION_MODE (collaborative|individual)〉 〈!ELEMENT INSTRUCTION_STYLE (model-based|content-based)〉 〈!ELEMENT SYSTEM_PERFORMANCE (high|medium|low)〉 〈!ELEMENT SYSTEM_SATISFACTION (high|medium|low)〉 〈!ELEMENT SYSTEM_UTILITY (high|medium|low)〉 ]〉 〈?xml version=“1.0” encoding=“UTF-8”?〉 〈!DOCTYPE DOCUMENT [ 〈!ELEMENT DOCUMENT (SYSTEM_PROFILE)〉 〈!ELEMENT SYSTEM_PROFILE (LEARNER_VIEWS, KNOWLEDGE_VIEWS, PRESENTATION_VIEWS, SYSTEM_EVALUATION)〉 〈!ATTLIST SYSTEM_PROFILE SYSTEM_ID ID #REQUIRED〉 〈!ELEMENT LEARNER_VIEWS (profile, LEARNING_SEQUENCE∗, LEARNING_DURATION?, LEARNER_EVALUATION?〉 〈!ELEMENT KNOWLEDGE_VIEWS (KNOWLEDGE_TYPE, KNOWLEDGE_LEVEL, PROBLEM_SOLVING_BEHAVIOR)〉 〈!ELEMENT PRESENTATION_VIEWS (INSTRUCTION_MODE, PRESENTATION_MODE, INSTRUCTION_STYLE)〉 〈!ELEMENT SYSTEM_EVALUATION (SYSTEM_PERFORMANCE, SYSTEM_SATISFACTION, SYSTEM_UTILITY)〉 〈!ELEMENT profile (#PCDATA)〉〈!–This is the LEARNER_ID–〉 〈!ELEMENT LEARNING_SEQUENCE (LEARNING_ELEMENT_COMPONENT+)〉 〈!ELEMENT LEARNING_ELEMENT_COMPONENT (#PCDATA)〉〈!–This is the Learning_Element_Component_ID–〉 〈!ELEMENT LEARNING_DURATION (TIME)〉 〈!ELEMENT TIME (days, minutes)〉 〈!ELEMENT days (#PCDATA)〉 〈!ELEMENT minutes (#PCDATA)〉 〈!ELEMENT LEARNER_EVALUATION (LEARNER_PERFORMANCE, LEARNER_SATISFACTION, LEARNER_UTILITY)〉 〈!ELEMENT LEARNER_PERFORMANCE (high|medium|low)〉 〈!ELEMENT LEARNER_SATISFACTION (high|medium|low)〉 〈!ELEMENT LEARNER_UTILITY (high|medium|low)〉 〈!ELEMENT KNOWLEDGE_TYPE (declarative|procedural|structural)〉 〈!ELEMENT KNOWLEDGE_LEVEL (high|medium|low)〉 〈!ELEMENT PROBLEM_SOLVING_BEHAVIOR (top-down|bottom-up)〉 〈!ELEMENT INSTRUCTION_MODE (self-guided|discovery)〉 〈!ELEMENT PRESENTATION_MODE (e-book|e-game|other)〉 〈!ELEMENT INTERACTION_MODE (collaborative|individual)〉 〈!ELEMENT INSTRUCTION_STYLE (model-based|content-based)〉 〈!ELEMENT SYSTEM_PERFORMANCE (high|medium|low)〉 〈!ELEMENT SYSTEM_SATISFACTION (high|medium|low)〉 〈!ELEMENT SYSTEM_UTILITY (high|medium|low)〉 ]〉 Open in new tab 4.3 User interfaces of the CoBL system Fig. 7 shows the interface the Learner space component uses to communicate with the learner. Examples of the thinking style question and learner feedback response windows are shown. Fig. 7 Open in new tabDownload slide The user interface of the Learner space component. Fig. 7 Open in new tabDownload slide The user interface of the Learner space component. Fig. 8 shows a screen shot of the user interface to the Knowledge space component. Through this interface, knowledge engineers (or instructors) can visualize/access/update the Knowledge Network that maintains the hierarchical levels of learning objects. The Login window authenticates the user is an authorized instructor; once verified the Instructor screen allows the instructor to select or update the learning object. For example, the instructors can add/delete/update the Algebra package of Math course. Fig. 8 Open in new tabDownload slide The user interface of the Knowledge space component. Fig. 8 Open in new tabDownload slide The user interface of the Knowledge space component. Fig. 9 shows the e-game interface of the Presentation space component, which has a dual purpose: (1) to quiz a student about material he/she has studied and (2) to let him/her play an action game he/she will enjoy. Essentially, the game is PacMan with questions. The interface includes a number of menu buttons: concept definition button, help, reference, score, replay, and quit. The game consists of a maze with dots for the PacMan to eat to gain energy or speed (points) and four adversaries, which are nicknamed Blinky, Pinky, Inky, and Clyde which are trying to catch him. To help PacMan conquer his enemies, there are power pills (large dots) in the maze, which give him more energy. When a power pill is eaten, the game will be paused while the user is asked a multiple-choice question. If he/she has chosen an incorrect answer, the text box on the right will display ‘Wrong!!’ along with an explanation of the correct answer. If he/she has chosen the correct answer, the text box on the right will display ‘Correct!!’. When he/she has finished answering the question, he/she can return to the game. When the game is over the quiz score will be returned to the Learner space component. Fig. 9 Open in new tabDownload slide The user interface of the Presentation space component. Fig. 9 Open in new tabDownload slide The user interface of the Presentation space component. 5 Related work Weber (1999) focuses on interactive and adaptive Web-based learning (ELM-ART) to support learners with different background knowledge and skills. Individual or tailored instruction based on learners' needs and background has not been achieved yet (Luchini, 1998). In order to facilitate online learning based on learners' backgrounds and individual differences, researchers have investigated psychological variables affecting the quality of online learning. They have identified demographic variables (e.g. age, gender, occupation, etc.) (Biner et al., 1995), field dependence/independence variables (Brenner, 1997), a locus of control variable (Stone, 1992), and learning styles (Cox and Huglin, 2000). The importance of user modeling has been emphasized in the learning community. Milne et al. (1996) focused on the development of composite learner models, incorporating both domain-related data and information about personal attributes such as capabilities and preferences. Schwab et al. (2000) used machine learning methods to acquire a user-interest profile from observed user behavior and implemented a methodology for developing explicit user profiles which were described in Web pages. Wesley et al. (1999) used distributed rational agents to manage the acquisition and presentation of multimedia information in a distance learning environment. El-Khouly et al. (1999) developed intelligent computer aided instruction software using agent technology for sharing teaching experiences and tutoring dialogs. Rickel and Johnson (1997) introduced two types of agents, students and pedagogical agents, communicating using virtual reality. Some researchers focused on the interactions of multiple agents including a conceptual framework for multiple agents (Maes and Wexelblat, 1996) and user models and their maintenance (Brown et al., 1998). The interactions among agents distributed in different environments are feasible through research on agent communication languages such as KQML (Finin et al., 1993). Our multi-agent approach is different from current agent research in that we consider agents to be equal partners with the learner rather than using a single agent as a secondary support. The use of XML has rapidly increased due to its flexible and powerful features for knowledge representation, acquisition and presentation. XML is used in the communication protocol of the MathWeb system (Franke et al., 1999). Liu et al. (2000) also focus on developing a prototype system for XML-based collaborative knowledge sharing over the web. Stonick et al. (1999) designed on-line, multimedia topical learning modules to evaluate student levels of expertise in choosing course activities for distributed, collaborative and guided learning. A study on designing externally controlled training procedures for adaptive learning demonstrated the ineffectiveness of totally self-guided learning and suggested efficient (‘intelligent’) combinations between externally guided and self-guided learning (Schindler and Schuster, 1986). Gustafson et al. (1998) built instructional models to provide conceptual and communication tools that were used to visualize, direct, and manage processes for generating episodes of guided learning. Ravenscroft developed a learner modeling system to provide discovery learning support when needed. As an example of game-based learning, the ‘dialogue game’ (Ravenscroft, 2000) models features of the tutorial process such as the learner playing the role of an ‘explainer’ while the system plays a facilitating role. Another study showed that game-oriented learning is more effective than straight tutorial animation (Ford et al., 1993). 6 Conclusion We have introduced a CoBL framework of collaborative learning for geographically distributed and diverse learners. We have built an educational middleware that would allow the sharing and redistribution of faculty-developed or proprietary learning objects and carry out collective learning as well as personalization of delivery across virtual learning communities. The prototype of the CoBL framework, as a proof-of-concept, is implemented based on component-oriented paradigm using Agent and XML technologies. The component-oriented architecture allows an open system to provide a high degree of scalability of the architecture. The CoBL framework has demonstrated its effectiveness in building and managing the distributed learning support system, leading to adaptive and collaborative learning for learners. References Biner et al., 1995 Biner P. Bink M. Huffman M. Dean R. , Personality characteristics differentiating and predicting the achievement of televised-course students and traditional-course students , The American Journal of Distance Education 9 ( 2 ) 1995 ) 46 – 60 The Pennsylvania State University Google Scholar Crossref Search ADS WorldCat Brenner, 1997 Brenner J. , An analysis of student's cognitive styles in asynchronous distance education courses at a community college , Third International Conference on Asynchronous Learning Networks 1997 OpenURL Placeholder Text WorldCat Brown et al., 1998 Brown S. Santos E. Banks S. Oxley M. , Using explicit requirements and metrics for interface agent user model correction , Autonomous Agents 98, Minneapolis, MN 1998 ) 1 – 7 ACM OpenURL Placeholder Text WorldCat Brusilovsky, 1996 Brusilovsky P. , Methods and techniques of adaptive hypermedia , User Modeling and User-Adapted Interaction 6 ( 2–3 ) 1996 ) 87 – 129 Kluwer, The Netherlands Google Scholar Crossref Search ADS WorldCat Carotenuto et al., 1999 Carotenuto, L., Etienne, W., Fontaine, M., Friedman, J., Muller, M., Newberg, H., Simpson, M., Slusher, J., Stevenson, K., 1999. Community space: towards flexible support for voluntary knowledge communities. Technical Report No. 99-04. IBM Watson Research Center and Workshop in Changing Places, London, URL: http://www.dcs.qmw.ac.uk/research/distrib/mushroom/workshop/. Cox and Huglin, 2000 Cox D. Huglin L. , Instructional Implications of Learning Style Differences between On-campus and Distance Graduate Students Taught via Asynchronous Computer Conferencing 2000 American Educational Research Association , New Orleans, LA D'Souza and Wills, 1999 D'Souza D.F. Wills A.C. , Objects, Components, and Frameworks with UML: the Catalysis Approach 1999 Addison-Wesley , Reading, MA El-Khouly et al., 1999 El-Khouly M. Far B.H. Koono Z. , Agent based computer tutorial system: an experiment for teaching computer languages (ATCL) , Journal of Interactive Learning Research 10 ( 3–4 ) 1999 ) 275 – 285 Association for the Advancement of Computing in Education OpenURL Placeholder Text WorldCat Finin et al., 1993 Finin, T., Weber, J., Wiederhold, G., Genesereth, M., Fritzson, R., Mckay, D., McGuire, J., Pelavin, R., Shapiro, S., Beck, C., 1993. Specification of the KQML agent-communication language. DARPA Knowledge Sharing Initiative External Interfaces Working Group, available at http://citeseer.nj.nec.com/finin94specification.html. Ford et al., 1993 Ford M. Poe V. Cox J. , Attending behaviors of ADHD children in math and reading using various types of software , Journal of Computing in Childhood Education 4 ( 2 ) 1993 ) 183 – 196 Association for the Advancement of Computing in Education OpenURL Placeholder Text WorldCat Franke et al., 1999 Franke A. Hess S. Jung C. Kohlhase M. Sorge V. , Agent-oriented integration of distributed mathematical services , Journal of Universal Computer Science 5 ( 1999 ) 156 – 187 Springer OpenURL Placeholder Text WorldCat Gustafson et al., 1998 Gustafson T. Schafer J.B. Konstan J. , Proceedings of the International Conference on Intelligent User Interfaces, San Francisco, CA Proceedings of the International Conference on Intelligent User Interfaces, San Francisco, CA 1998 ACM , New York pp. 163–170 OpenURL Placeholder Text WorldCat Halasz and Schwartz, 1994 Halasz F. Schwartz M. , The Dexter hypertext reference model , Communications of the ACM 37 ( 2 ) 1994 ) 31 – 39 ACM Google Scholar Crossref Search ADS WorldCat Hetherington et al., 2001 Hetherington R. Kim J. Lee Y. , Proceedings of the ED-MEDIA Proceedings of the ED-MEDIA 2001 Association for the Advancement of Computing in Education pp. 743–744 OpenURL Placeholder Text WorldCat Jonassen et al., 1993 Jonassen D. Beissner K. Yacci M. , Structural Knowledge: Techniques for Assessing, Conveying, and Acquiring Structural Knowledge 1993 Lawrence Erlbaum , Hillsdale, NJ Lange et al., 1997 Lange D. Oshima M. Karjoth G. Kosaka K. , Aglets: programming mobile agents in Java Masuda T. Masunaga Y. Tsukamoto M. Lecture Notes in Computer Science Lecture Notes in Computer Science 1997 Springer , Berlin 253 – 266 OpenURL Placeholder Text WorldCat Lee and Geller, 1996 Lee Y. Geller J. , Proceedings of the Knowledge Representation and Reasoning (KR-96) Proceedings of the Knowledge Representation and Reasoning (KR-96) 1996 Morgan Kaufmann , Los Altos, CA pp. 576–587 OpenURL Placeholder Text WorldCat Lee and Geller, 2002 Lee Y. Geller J. , Efficient transitive closure reasoning in a combined class/part/containment hierarchy , Journal of Knowledge and Information System 4 ( 3 ) 2002 ) 305 – 328 Google Scholar Crossref Search ADS WorldCat Liu et al., 2000 Liu B. Du H. Feng A. Wang Y. Zhuo J. , Synchronized multimedia courseware publishing system based on XML , Mini-Micro Systems 21 ( 7 ) 2000 ) 779 – 781 Mini-Micro System., China OpenURL Placeholder Text WorldCat Luchini, 1998 Luchini K. , Problems and potentials in web-based instruction, with particular focus on distance learning , Educational Technology and Society 1 ( 1 ) 1998 OpenURL Placeholder Text WorldCat Maes and Wexelblat, 1996 Maes P. Wexelblat A. , Interface agents Bilger R. Guest S. Tauber M.J. Proceedings of the CHI96 Tutorials 1996 ACM , New York 369 – 370 OpenURL Placeholder Text WorldCat Mamdani et al., 1999 Mamdani A. Pitt J. Stathis K. , Connected communities from the standpoint of multi-agent systems , New Generation Computing 17 ( 4 ) 1999 ) 381 – 393 Ohmsha Google Scholar Crossref Search ADS WorldCat Milne et al., 1996 Milne S. Shiu E. Cook J. , Development of a model of user attributes and its implementation within an adaptive tutoring system , User Modeling and User-Adapted Interaction 6 ( 4 ) 1996 ) 303 – 335 Kluwer Academic Publishers, The Netherlands Google Scholar Crossref Search ADS WorldCat Nodine, 1998 Nodine M. , Proceedings of the Second International Workshop, CIA'98 Proceedings of the Second International Workshop, CIA'98 1998 ACM , New York pp. 19–20 OpenURL Placeholder Text WorldCat Ravenscroft, 2000 Ravenscroft A. , Designing argumentation for conceptual development , Computers and Education 34 ( 3–4 ) 2000 ) 241 – 255 Elsevier Google Scholar Crossref Search ADS WorldCat Rickel and Johnson, 1997 Rickel J. Johnson W. , Proceedings of the AAAI Spring Symposium on Computational Models for Mixed Initiative Interaction Proceedings of the AAAI Spring Symposium on Computational Models for Mixed Initiative Interaction 1997 AAAI pp. 128–134 OpenURL Placeholder Text WorldCat Schindler and Schuster, 1986 Schindler R. Schuster A. , Third European Conference on Cognitive Ergonomics Third European Conference on Cognitive Ergonomics 1986 Inst. Nat. Recherche Inf. and Autom , Le Chesnay pp. 139–153 OpenURL Placeholder Text WorldCat Schwab et al., 2000 Schwab I. Kobsa A. Koychev I. , Proceedings of the Adaptive User Interfaces, Menlo Drive, CA Proceedings of the Adaptive User Interfaces, Menlo Drive, CA 2000 AAAI pp. 102–106 OpenURL Placeholder Text WorldCat Sternberg, 1997 Sternberg R. , Thinking Styles 1997 Cambridge University Press , New York Stone, 1992 Stone T. , A new look at the role of locus of control in completion rates in distance education , Research in Distance Education 4 ( 2 ) 1992 ) 6 – 9 OpenURL Placeholder Text WorldCat Stonick et al., 1999 Stonick V. Kolodziej W. Gygax O. , Design of a guided-asynchronous graduate course in multimedia signal processing , IEEE International Conference on Acoustics, Speech, and Signal Processing 1999 ) 2033 – 2036 IEEE OpenURL Placeholder Text WorldCat Süß, 2000 Süß C. , Adaptive knowledge management: a meta-modeling approach and its binding to XML Klein H.-J. 12 GI-Workshop Grundlagen von Datenbanken, Plön, TR 2005 2000 Christian-Albrechts-Universität Kiel OpenURL Placeholder Text WorldCat Szyperski, 1998 Szyperski C. , Component Software: Beyond Object-Oriented Programming 1998 Addison-Wesley , Reading, MA Weber, 1999 Weber G. , Proceedings of the Seventh International Conference User Modeling (UM99) Proceedings of the Seventh International Conference User Modeling (UM99) 1999 Springer , Wien pp. 371–377 OpenURL Placeholder Text WorldCat Wesley et al., 1999 Wesley L.P. Shim S. Atreya S.D. Booth R.P. , ROADS: an environment for developing automated intelligent agents to support distance learning , Journal of Interactive Learning Research 10 ( 3–4 ) 1999 ) 321 – 333 Association for the Advancement of Computing in Education, USA OpenURL Placeholder Text WorldCat Wooldridge and Jennings, 1995 Wooldridge M. Jennings N. , Intelligent agents: theory and practice , The Knowledge Engineering Review 10 ( 2 ) 1995 ) 115 – 152 Cambridge University Press Google Scholar Crossref Search ADS WorldCat © 2002 Elsevier B.V. All rights reserved. TI - Multi-agent systems support for Community-Based Learning JF - Interacting with Computers DO - 10.1016/S0953-5438(02)00057-7 DA - 2003-01-01 UR - https://www.deepdyve.com/lp/oxford-university-press/multi-agent-systems-support-for-community-based-learning-0W50W3v0GS SP - 33 EP - 55 VL - 15 IS - 1 DP - DeepDyve ER -