Examples

 < Day Day Up > 



Agents and Web Services for Courses

The development of agents for courses or course agents involves pedagogy, learning design, and learner modeling. The pedagogical basis of course agents can be built on two underlying educational philosophies: objectivist and constructivist. The objectivist assumes the learner is an empty vessel that can be filled with knowledge. It leads directly to an instructivist or transmissionist pedagogical approach, where the teacher fills an empty vessel, which is the student (Phillips, 1997).

The other philosophy, the constructivist epistemology, assumes that the learner can build on his or her own knowledge based on an existing set of experiences, so the student is viewed as a “researcher.” A major goal of the constructivist approach is to ensure that the learning environment is as rich and interactive as possible.

A course agent can be based on a constructivist learning environment, in which the student and the student’s agent can explore at will. However, such discovery learning makes the often-unfounded assumption that the student has research skills. Therefore, a well-designed distributed learning course should incorporate the most appropriate aspects of each learning theory. We believe that the course agent will be more effective for guided discovery learning based on a constructivist learning theory. The agent can give the student control in discovering knowledge, but the discovery process is supported by additional guidance functions to provide support and feedback.

Personal Agents for Courses

Two types of personal course agents are used in distributed learning: instructor course agents and learner course agents that assume roles in the participating protocols of learning activities.

An instructor course agent is an assistant of the instructor, helping the instructor generate, deliver, and maintain a course. This kind of agent interacts with other task agents to fulfill the tasks delegated by the instructor, such as broken-link checking, learning-objects recommendation, notification, monitoring, and information gathering.

A learner course agent is a simulated instructor that can provide adaptive course material and instruction appropriate according to the learning process of the individual learner. This kind of agent can be viewed as an authoritative representative of the course author and the instructor. It can also interact with other task agents to carry out the tasks requested by the learner, e.g., answering frequently asked questions (FAQs). Because a learner’s profile includes the learning activities he or she has participated in, and the corresponding performance can be easily kept in the environment and made available to agents, an instructor course agent can help the instructor understand learners and make suggestions. A learner’s profile contains detailed information, such as a learner’s errors and misconceptions, so in the absence of the instructor, the agent is able to give advice to learners when they are learning, in the absence of the instructor (Chan, 1995).

Task Agents for Courses

The task agents include course-planning agents, course assembly agents, course maintenance agents, and evaluation agents.

A course-planning agent uses information about the learner, resources, and curriculum-planning knowledge, to construct an optimized course plan. When a consistent and complete plan is found, it will be presented to both the student and the instructor for approval. The course-planning agent uses well-known planning techniques. Each course plan is a curriculum graph. The course- planning agent creates curriculum plans by finding a chain of learning objectives that connect the intended final learning goal with the student’s prior knowledge.

After the course-planning agent generates a course plan that partially determines the learning activities and path, a specific “best” solution for learning materials is extracted by using some problem-solving mechanism, such as TAEAS, an heuristic scheduling system (Wagner et al., 1998). TAMES can produce a comprehensive linear instantiation of one possible solution to the problem, based on the constraints, such as the preferred time or the quality or cost of the learning materials. TAEAS generates an initial solution and then enables the student to alter the parameters to retrieve a second solution. Given the constraints supplied by the student, TAMES then offers a variety of solutions.

Once a specific course plan has been approved and scheduled, the student is given access to the selected resources one at a time, interacting via a browser or other interface. As the student finishes using each resource, the student model is modified to track the student’s learning progress, until the student either reaches or abandons the intended learning goal. Difficulties encountered along the way are handled by replanning.

click to expand
Figure 3: The system architecture for course maintenance

Course Maintenance Agent

One of the merits of Web-based e-learning courses is that it can provide upto-date information. In order to provide current, correct, and complete materials to students, course instructors need to update e-learning course materials from time to time. The reasons for Web-based course maintenance are threefold.

First, materials in courses in ever-changing fields, such as “Computing and Information Systems,” need to be updated more often than in other courses. Working in such a dynamic distributed learning environment, course instructors or instructors often need to review and revise course materials in a short time frame.

Second, because of the complexity of the materials, and the short development cycles within which the materials are produced, our best human efforts are sometimes not adequate to prevent occasional errors from slipping through. Therefore, students should be prepared to encounter the odd minor “glitch” in online courses. However, course instructors should make the necessary adjustments for the benefit of students. Whenever there is a significant change in the content of designated Web pages, students who are interested in the topic and all students who are taking the course will be notified by the course instructor via e-mail.

Third, Web-based course materials have many hyperlinks. These hyperlinks need to be maintained regularly to ensure their availability. However, it is common for an online course to have a few hundreds of hyperlinks. These hyperlinks can be broken for many reasons: Web servers may be down because of hardware failure, Web pages may be relocated to another server, or power may be cut off in another part of the world. To maintain these hyperlinks solely by human efforts is becoming more difficult, if not impossible. The degree of difficulty is hard to comprehend if we consider the fact that hyperlinks can be “dead” and “alive” at different points of time. The need for an automated system to help course instructors maintain hyperlinks is pressing.

The system consists of a couple of Web services located in different places. The Web services include course information Web services, student information Web service, and instructor information Web service.

There are two types of task agents supporting the Web services: Web Monitoring Agent and Notification Agent. As Web services, they have a dual nature that combines characteristics of Web services technologies and agent technologies: the abilities to be published, found, and called as a service, and the ability to move from platform to platform and make autonomous decisions.

The Web Monitoring Agent is to monitor targeted Web pages and determine whether or not the content in those pages has been significantly changed. The meaning of “significantly changed” is based on a couple of predefined criteria. For examples, the number of hyperlinks or photos increased or decreased, or the content lengths of the Web page increased or decreased by examining its MIME header. If it discovers such changes, it will trigger a Notification Agent to send a message to those students who are interested in receiving the message. Figure 3 shows the system architecture.

Agent Management Web Service

The Agent Management Web service serves as a front end for agent management and deployment through Web technology. A registered user can log-in to download an agent platform and his or her favorite personal agent. Downloading can be through FTP or HTTP protocol. Once logged in, a user can update his or her account information or supply necessary information for agents to run. For example, a course instructor can provide his or her course information, such as a course name and its base hyperlink, so that later, a Notification Agent and a Web Monitoring Agent can make use of this information in order to process the course instructor’s request.

The Agent Management Web service also acts as a proxy to an UDDI registry. It assigns unique agent identifications to agents and records agent information, such as Agent Type, and relays these data to an UDDI Registry. The Personal Agent can search from the registry and invoke services provided by the Agent Management Web service. For example, the Personal Agent can ask for the location of a Web Monitoring Agent that is free to work for the user.

The Agent Management Web service is also a Web services provider; it can serve SOAP-compliant clients by exchanging SOAP messages so that users can embed the results returned by the agents into their applications. For example, a course instructor can embed the broken hyperlinks, found by the

Web Monitoring Agent, into his or her Web e-mail application, and send them to students or build his or her course Web pages with the logics taking care of the results returned by the Agent Management Web service. Without coupling with Web Services, agents can notify the course instructor, even though there is a time gap between the broken links found and remedial actions taken. Coupling agents with Web Services, a course instructor has no urgent need to care about the remedial actions if contingent actions had already been taken.

A Personal Agent, as a client of a service, can perform searches of different entries stored in a UDDI. It can then make message and RPC style calls to a Web Service. A Personal Agent is also an interface between the user and the multiagent platform. Through the Personal Agent, a user can manipulate the options provided by other agents. For example, a course instructor can choose how often to receive e-mail from the Notification Agent if broken links are found from his or her course materials. The Personal Agent abides on the platform of the user’s computer. Different groups of users are assigned different types of Personal Agents. The assignment is based on their roles in the system. For example, the Personal Agents for course instructors are different from those of the students. Course instructors can choose under what conditions they should be notified if the contents of external links are changed. A Personal Agent is GUI driven and can be used to control all the agents with identification registered under the user name.

Web Monitoring Agent-Supported Course Information Web Service

A Web Monitoring Agent has two functions: one is to detect broken links, and the other is to detect Web content changes. It scans the given pages periodically. When the agent detects a significant change (e.g., the link is broken), it sends a message to the Notification Agent.

Most of the work is done by agentized and multithreaded class Spider (www.JeffHeaton.com). A queue named Workload holds the base URL to be processed.

Step 1: A spider opens a connection to the base URL by openConnection().

Step 2: If the connection is failed, the whole process stops.

Step 3: If the connection is successful, the spider parses the Web page to find all the URLs and put them into Workload.

Step 4: The spider checks other information from the MIME header, such as

Last Modified, Content Length, etc., and stores this information in the database for comparison purposes.

Step 5: Then the spider opens a connection to the next URL in work.

Step 6: If connection is failed, the spider will report this URL as broken links, store the URL in the database, and open another URL in Workload.

Step 7: If connection is successful, the spider repeats Steps 3 to 6.

Step 8: The spider stops to work until there are no more URLs in Workload.

Notification Agent

Incorporating Notification Agents into the system is one of the ways for the MAS to give responses to users. Notification Agent is responsible for sending e-mail on behalf of other agents in the MAS. It is the postman of the whole community. Whenever an agent needs to send e-mail, it asks a Notification Agent to do so. The agent packages an agent message with the necessary details, such as the message, the sender, and the recipient e-mail address, and forwards the message to the Notification Agent. Once a message is received, the agent checks the validity of the information and sends the e-mail accord- ingly. The Notification Agent makes use of JavaMail class to perform the actual sending. The Notification Agent has no access to sender and recipient information, this information is provided by other Web services through XML request messages.

Student Information Web Service

The Student Information Web Service is designed to provide student information. For example, it maintains an e-mail list of those students taking courses in open and distance-learning environments at Athabasca University.

Databases

The database resource includes a student information database, an instructor information database, and a course link database. The simplified data model of the databases is shown in Figure 4.

click to expand
Figure 4: Tables for the database

We implemented the agent system for the online course link maintenance using the architecture shown in Figure 4. The agents and Web services ran on five different servers for testing purposes. The agents and the agent platforms are written in Java. We deployed the computers at different locations. The computers, Intel-based Pentium III class machines with 512MB RAM, are loaded with the following software:

  • Red Hat Linux 8.0

  • J2SE v 1.4.2

  • Apache Web Server 2.047 w/Axis 1.1

  • PHP 4.3.3

  • MySQL 4.0.14

From preliminary experimental results, the approach proposed is feasible. The Web Services are provided by Apache Axis. We used JDBC to connect to MySQL databases. Shown in Figure 5 is a screen shot of the Web monitoring agent.

click to expand
Figure 5: A screen shot of the Web monitoring agent

We are doing experiments to test the scalability and usability of the system. The experiments will focus on the perceptions of the users regarding the helpfulness and overall usefulness of the agent system. Perceived satisfaction will be measured by a questionnaire asking about the students’ perceptions of the quality improvement of course materials in using the agent. The questionnaire will also be sent to course instructors and administrators to allow us to compare the work efficiency, i.e., how many broken links the agent detected, how much the time between when the course materials were changed and the students were notified of the change was shortened by using the agent system, and how much of the course instructors’ time was saved in maintaining course materials and notifying students and answering students’ questions regarding course material updates of the agent-supported content management system compared to nonagent course content management systems.

Agents for Learning Objects

The notion of “learning object” (LO) is a new way of thinking about learning content (Rory et al., 2002). Traditionally, course content comes in a several- hour chunk called a lesson. Learning objects are much smaller units of learning, ranging, for example from two to 30 minutes. Small, independent chunks of knowledge or interactions stored in a database can be presented as units of instruction or information. A learning object is based on a clear instructional strategy, intended to cause learning through internal processing and action.

Agents for learning objects include locating agents, monitoring agents, notifying agents, personal agents, and learning objects agents.

A locating agent (LA) is able to accept user interests as keywords and is able to offer approximate matches, if interests are expressed in terms of subject taxonomies. These subject taxonomies can be large, especially when elaborated by cross-references. They form the basis for the agent’s ability to make sense of user interests and their relative relationships to the subject matter of LOs. Our strategy is to provide a learning object repository (LOR) interface and agents that support students’ learning through the search process. For instance, the LOR search interface will provide tools like spell-checking and content-specific thesauri to help sharpen query formulation.

The Monitoring Agent

A monitoring agent (MA) provides a time-saving way for LOR administrators to monitor the status of LORs. The MA checks content changes and detects broken links in LOs, saving administrators from the tedious and time-consuming task of doing this manually. The MA can do these automatically.

The Notifying Agent (NA)

Users specify events of interest and receive notifications by e-mail when these events occur. These events include identifying new items appearing in a repository, new versions of LOs entering a repository, and some broken links. The NAs attach themselves to a LOR Broker Web service.

Both MAs and NAs accept messages in ACL (agent communication language) that specify events of interest and the actions they trigger. For example, one message might ask for e-mail notification whenever a repository adds a new LO, for example, a Java tutorial. Another message might define filters to extract articles matching current curricular items from a Web page. Students will also be able to use these kinds of agents to find relevant information in a timely manner.

Personal Agent

A personal agent (PA) runs on the user’s machine. It manages the interface that connects human users to an LOR or network of LORs by

  • Expressing user queries in a form that search agents can interpret

  • Maintaining user profiles based on specified, default, and inferred user characteristics

  • Customizing the presentation of query results

A PA is able to transfer the anonymous information transacted between itself and the broker to a specific user. And, the PA applies some more personal filtering, such as selecting between materials with similar topics but different human languages. It also ignores offers from the broker that the user has already seen. The actual learning delivery is primarily under the control of the learning management system (LMS). The PAs can assist instructors in developing and managing curriculum materials. For instance, the instructors’ customized query-planningagent, with its specialized knowledge of pedagogical relevance, helps instructors quickly search and retrieve material useful in their courses.

Learning Object Agent (LOA)

An LOA is a representative of the author of a LO, able to answer questions that a learner would love to ask, for example:

  • Which sections should I read first?

  • Could you show me the most important sections?

  • My particular interest is Java Network Computing, and I have half an hour. What should I read?

  • I am lost—help me get my bearings.

The agent contains the reference engine, which applies the rules contained with the LOs. The agent must also provide a good user interface, possibly graphical or natural language driven, that can solicit requests from the learner and deliver responses. It is also responsible for dealing with the LOR agent.

Learning Object Repository Agent (LORA)

While an LOA works for learners using LOs, the LORAs work for administrators using the dynamic learning object repository. As learning objects are added, LORAs attend to linking the information, driven by the concept hierarchy, and then inform LOAs of the new state of the distributed LOR.

Because LORAs have access to the big picture, they can see how the LOR is being used.

LORA agents watch, listen, and learn how people are using the LOR. When the LORAs notice certain patterns recurring, they can help a LOA, and hence, a learner to find relevant information. This would be an application of a neural network, a program that learns from patterns. When a learner poses a request for information that the LOA cannot satisfy, the agent may contact the LORA and ask for help. The LORA knows where to go for this help and can call up one or more different LOAs to supply the agent with the needed information. These LOAs may be running different inference mechanisms. They are certainly using different rules and LOs. We are using distributed Blackboard technology as a method to get these systems to work in a cooperative fashion.



 < Day Day Up > 



Designing Distributed Environments with Intelligent Software Agents
Designing Distributed Learning Environments with Intelligent Software Agents
ISBN: 1591405009
EAN: 2147483647
Year: 2003
Pages: 121

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net