<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Agent-mediated Online Learning - AMOL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xun Yi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chee Kheong Siew</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mahbubur Rahman Syed</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer and Information Sciences Wissink Hall 273, Minnesota State University</institution>
          ,
          <addr-line>Mankato MN 56001</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Information Communication Institute of Singapore School of Electrical &amp; Electronic Engineering, Nanyang Technological University Blk S2</institution>
          ,
          <addr-line>Nanyang Avenue</addr-line>
          ,
          <country country="SG">Singapore</country>
          <addr-line>639798</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>The growth of intelligent agent technology allows new developments in the way learners obtain knowledge on the Internet. This paper proposes an agent-mediated online learning architecture, called AMOL, to automate online learning processes. Asynchronous Learning Networks (ALN) are networks of people who can learn anytime anywhere. ALN combines self-study with substantial, rapid, asynchronous interactivity with others. In ALN learners use computer and communications technologies to work with remote learning resources, including coaches and other learners, but without the requirement to be online at the same time. The most common ALN communication tool is the World Wide Web. By this definition, a web-based workshop that requires frequent online conferencing and collaboration with others is ALN. So is a text- or computer-based training course that requires learners to use email to discuss assignments with each other and with the coach. ALN also encompasses a proctored examination at a specified time and place, or occasional synchronous chat or lab sessions for near-campus learners, or an in-person kickoff meeting. By this definition, distance education based primarily on a synchronous audio or video presentation or conference is not ALN because these constantly require learners and instructors to be available at the same time. A videotaped course or mail-based correspondence course or computer-based training is not ALN because these do not</p>
      </abstract>
      <kwd-group>
        <kwd>ALN</kwd>
        <kwd>Adele</kwd>
        <kwd>Intelligent agents</kwd>
        <kwd>Online learning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>include substantial and rapid interactivity with others, even though the learner might mail
in a paper or test and receive a reply days later.</p>
      <p>There are many challenges facing ALN. In distributed learning environments where there
is the potential for losing the cohesiveness and spontaneity of the classroom experience, it
is essential to understand how to improve the online learning experience so that it
approaches and perhaps even exceeds more traditional learning methods. The instant
availability of a human tutor online would be ideal. However, providing this capability is
no more realistic than continuously providing a human tutor for the traditional
classroombased learning experience. Cost and availability are limiting factors in supplying
continuously attentive human tutors. Often students simply want questions answered and
would be happy with any type of effective immediate feedback – human or machine. An
augmented anytime capability is particularly important in learning environments in which
online tutors may not be available for extended periods (e.g., due to differences in time
zones or to late-night student study habits).</p>
      <p>
        ALN courses can be improved by the introduction of autonomous intelligent agents [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Intelligent Agents (IAs), termed “knowbots” (or Knowledge Robots) can perform the
duties of online facilitators for routine tasks. Checking computer code, responding to
simple questions, reminding learners about the need to turn in assignments and
potentially even grading essays are among the types of things that intelligent agents can
accomplish. The feedback can be provided by intelligent agents in an on-demand format
for certain types of information requirements.
      </p>
      <p>
        In contrast to the above Web-based intelligent agent system where “knowbots” sits on the
server side, resulting in increased latency in tutor response to student actions, the Adele
(Agent for Distance Education – Light Edition) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a pedagogical agent, implements key
pedagogical functions: presentation, student monitoring and feedback, probing question,
hints, and explanations. These capabilities are coupled with an animated persona that
supports continuous multi-modal interaction with a student. The architecture supports
client-side execution in a Web browser environment, and is able to inter-operate with
simulations created by off-the-shelf authoring tools.
      </p>
      <p>Most of the existing intelligent agent online learning systems only focus on applying
static intelligent agents that reside at Web servers or Web browsers in solving distance
education problems. For instances, “knowbots” and Adele. System designers have
ignored another key attribute of intelligent agents, that is, their mobility.</p>
      <p>In this paper, we focus on the use of the mobility of intelligent agents in automating
online learning process and proposed an agent-mediated online learning (AMOL)
architecture. Under AMOL scenario, (1) online learning is able to choose most suitable
study material or ongoing or coming conferencing systems with the aid of searching
intelligent agent; (2) pedagogical agents residing at online learners’ PCs can
automatically gather online teaching material with the aid of gathering intelligent agents;
(3) once pedagogical agents cannot answer students’ questions, it will automatically try
to obtain solutions with the aid of querying intelligent agents.</p>
      <p>The following sections are arranged as follows: Section 2 introduces intelligent agent
technology; Section 3 describes the agent-mediated online learning (AMOL) architecture;
Conclusion is drawn in the last section.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Intelligent Agent</title>
      <p>
        Intelligent agents are one of the fastest growing areas of information technology. They
offer a new paradigm for developing software applications. More than this, agent-based
computing has been hailed as "the next significant break-through in software
development" [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and "the new revolution in software" [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Agents are being used in an
increasingly wide variety of applications, ranging from comparatively small systems such
as Email filters to large, open, complex, mission critical systems such as Internet trading.
      </p>
      <sec id="sec-2-1">
        <title>General Concept of Intelligent Agent</title>
        <p>
          An agent's role is of one action on behalf of others. In the field of artificial intelligence
this term is used to refer to an entity that functions autonomously in a particular
environment and provides service to its owner. This agent is autonomous in the sense that
its activities do not need human intervention. People have long dreamed of intelligent
system which can let them "input less and output more" to replace traditional ordinary
applications with little flexibility that depend on step by step learnings to be input.
Intelligent agent research is trying to narrow the gap between the dream and the reality.
The hope is that agents will provide services to people without requiring them to
explicitly indicate the procedures required, make appropriate decisions in unexpected or
novel environments, plan their action in advance and tackle problems independently.
The term "agent" has its background in the early artificial intelligent approach to the
humanoid entities. During the long period of development of artificial intelligence the
term was applied to a wide range of fields and attracted different definitions. Genesereth
[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] regards agents as "software components that communicate with their peers by
exchanging messages in an expressive agent communication language". Shoham [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
regards agents as being ontologically dependent on their role in the community.
An agent can be thought of as a computer program that simulates a human relationship by
doing something that another person could do for you [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. An agent is a self-contained
program capable of controlling its own decision making and acting, based on its
perception of its environment, in pursuit of one or more objectives. More than one type
of agent is possible. In its simplest form it is a software object that sifts through large
amounts of data and presents a subset of this data as useful information to another agent,
user or system. An example of this is an agent that reads and analyzes all incoming
email, and routes it to an appropriate department or another agent for a reply [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. These
types of agents are called static agents.
        </p>
        <p>
          Mobile agents owned by a user or another software element are capable of migrating
from one computer to another to execute a set of tasks on behalf of their owner. Such
agents would typically gather and analyze data from a multitude of nodes on the network,
and present a subset of this data as information to a user, agent or system. For example, a
company which needs to order additional paper supplies could have agents monitoring
the quantity and usage patterns of paper within the company and launching buying agents
when supplies are becoming low. Those buying agents automatically collect information
about vendors and products that may fit the needs of the company, evaluate the different
offerings, make a decision about which merchants and products to pursue, negotiate the
terms of transactions with these merchants and finally place orders and make automated
payments. Mobile agents can also act as brokers for users. For example, a single sign-on
agent can sign-on to many different systems relieving the user from typing in his/her
password for every system [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>Mobile agents are said to be autonomous, in the sense that they can make their own
decisions while away from their host. This implies that a mobile agent (agent, for short)
is not just a piece of data being transferred between systems, but may also carry some
logic (i.e. code) and state, which enables it to perform some part of its tasks in one
system, migrate to another and continue its work there. In this paper we will mainly focus
on a discussion of mobile agents.</p>
        <p>A mobile agent framework naturally draws upon existing components of networks such
as name servers, directories, routers and so forth, and adds several new facilities:</p>
      </sec>
      <sec id="sec-2-2">
        <title>Mobile Agent System</title>
        <sec id="sec-2-2-1">
          <title>Mobile Agents</title>
          <p>•
•</p>
          <p>These may be expressed in various procedural languages and may transport
knowledge expressed in various forms. They must be structured so as to engage in a
progressive dialogue with the Agent Meeting Places (AMPs) until they are able to
execute or are rejected.</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Agent Languages</title>
          <p>Two kinds of languages are involved. One is the language in which the programmatic
content of the agent is written; this is usually (though not necessarily) a script
language. The second is a language for knowledge representation, which provides the
means to express goals, tasks, preferences, and vocabularies appropriate to various
domains.
•</p>
          <p>Agent Meeting Places
These have various subcomponents, and they are the principal means by which a
server becomes part of the agent framework. We think of the AMP as a broker
between the agents that are making requests for resources and services and the
applications that implement these resources and services.
•</p>
          <p>Public Security Services
These security services, which are trusted by the servers taking part in the agent
framework, provide certificates of authenticity and other security services to the
mobile agents.</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Operation of Mobile Agent System</title>
        <p>In many cases, the mobile agent is launched from a client device such as a laptop or
desktop PC by an otherwise conventional application. We anticipate that end-users will
not in general write their own agents (though that is certainly possible), but that various
classes of agents will be distributed by services for use by their subscribers or will be
packaged with client applications. The agent is initialized with the user's task and
transmitted by a message channel. The sending client may specify a destination service
directly, but more than likely it sends the agent initially to, for example, a Yellow Pages
server, which can propose servers to be visited that are likely to be able to fulfill the
user's task.</p>
        <p>When the agent reaches a server, it is delivered to an Agent Meeting Point (AMP). Upon
arrival at an AMP, the Agent Passport is inspected for its authentication credentials. Once
validated, the AMP examines the agent's Table of Contents (TOC). Ontologically named
service requests are resolved to determine if the desired services are available at the
AMP. If sufficient resources are available at the AMP and are permitted to the agent, the
constituent parts of the agent are passed to the services.</p>
        <p>The executable portions of the agent are then started. In some cases, the mobile agent will
be interacting directly with server resources (via proxy objects, which enable access
control to be enforced). In the other cases, the mobile agent will interact with a static
agent at the AMP. A static agent is an agent that is resident at that AMP. The static agent
may have been installed by the server operator. Static agents enable the server's function
to be personalized by the server's owner or by users. When the agent has successfully
completed its task at this server, it may ask to be transported to a new host. Alternatively,
it may launch a smaller agent to deliver the acquired information to the sending client or
to another server and then it may terminate. This ability to acquire knowledge and
transport it from place to place is a key attribute of a mobile agent. The new knowledge
may simply a new destination or it may be a security token or a transaction. This ability
means that the agent is not merely a program that is executed on a remote host and then
returned to its origin, but it is a dynamic process which progressively accomplishes a task
by moving from place to place.</p>
        <p>If the agent proves to be unauthorized, or if the meeting point is unable to provide the
agent with the resources it has requested, the AMP will take action based on the agent's
header. It may discard the agent; send the indicated party a description of the failure; or if
it is capable, propose one or more AMPs that may be able to satisfy the request.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Agent-mediated Online Learning (AMOL) Architecture</title>
      <p>Our agent-mediated online learning (AMOL) architecture aims at automating online
learning process by use of mobile agents. AMOL is apply to the following scenario:
Learner Group</p>
      <p>Learner
Learner
Learner
Learner</p>
      <p>Education Center Group</p>
      <p>Education Center 1
Education Center 2
Education Center i
Education Center n</p>
      <p>Teacher Group</p>
      <p>Teacher
Teacher
Teacher
Teacher
As shown in Figure 1, AMOL scenario consists on three parties of participants:
1. Learner Group: the set of learner who cannot attend conventional classes due to
distance or time constraints, but have personal computers connecting to the
Internet and try to learn some online material.
2. Education Center Group: the set of education center servers which provide online
study material, assignment repository, “knowbots”, knowledge databases, various
pedagogical agents, and etc.
3. Teacher Group: the set of teachers who can answer students’ questions and check
the assignments for students, and possess personal computers connecting to the
Internet.</p>
      <sec id="sec-3-1">
        <title>AMOL can be described in the following phases.</title>
        <sec id="sec-3-1-1">
          <title>Software Installation</title>
          <p>
            In order for pedagogical agents to run, learners have to install necessary software on their
computers to support mobile agent language. In AMOL, the Aglets Software
Development Kit [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] should be installed on the computer of each learner.
The Aglet Software Development Kit is an environment for programming mobile Internet
agents in JavaTM (it used to be called the Aglets Workbench). The Java Aglet
Application Programming Interface (J-AAPI) is a standard for interfacing aglets and their
environment. J-AAPI is simple, flexible, and stable. Internet agent developers or agents
can write platform independent aglets and expect them to run on any host that supports
JAAPI.
          </p>
          <p>The above process can be regarded as establishing “tutorial rooms” for online learners.</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Searching Pedagogical Agent</title>
          <p>Assume that an online learner want to study some online material. He creates a searching
intelligent agent and tells it his requirements for the pedagogical agents or conferencing
systems. These requirements encompasses:</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>1. Language of study material</title>
      </sec>
      <sec id="sec-3-3">
        <title>2. Topic of study material</title>
        <p>3. Level of study material (for example, primary, secondary or high levels)</p>
      </sec>
      <sec id="sec-3-4">
        <title>4. Type of study material (for example, text, audio or video)</title>
      </sec>
      <sec id="sec-3-5">
        <title>5. Time of study (in case of searching conferencing systems)</title>
      </sec>
      <sec id="sec-3-6">
        <title>6. Others Then, the searching intelligent agent is launched from the PC of the online learner. It automatically roams among a series of online education centers and searches the most suitable online material.</title>
        <p>In case of searching conferencing systems, once suitable ongoing or coming conferencing
systems matching the requirements of the online learner are found, the searching
intelligent agent reports its findings to the online learner and then automatically lapses.
In case of searching online material with pedagogical agent, once suitable online material
with pedagogical agent matching the requirements of the online learner is found, the
searching intelligent agent invites the pedagogical agent to the online learner’s PC and
then automatically lapses.</p>
        <p>As shown in Figure 1, the searching intelligent agent finds what it wants at Education
Center i and then lapses there.</p>
        <sec id="sec-3-6-1">
          <title>Pedagogical Agent Residing</title>
          <p>As the searching intelligent agent indicates, a pedagogical agent at Education Center i
brings necessary teaching material to the online learner and resides on the PC of the
online learner. In AMOL, the pedagogical agents are supposed to be animated
pedagogical agents.</p>
          <p>AMOL architecture on the PC of an online learner can be depicted as:</p>
          <p>Simulation Engine and GUI
Animated Persona</p>
          <p>Reasoning Engine
Text-to-Speech</p>
          <p>Engine</p>
          <p>Material
&amp; Knowledge</p>
          <p>Store</p>
          <p>Agent
Factory</p>
          <p>Task Planner</p>
          <p>Assessor
Client
Server</p>
          <p>Learner's PC
As shown in Figure 2, AMOL architecture in a learner’s side consists of four main
components: the pedagogical agent, the simulation, the client-server, and the Material &amp;
Knowledge Store. The pedagogical agent consists further of two sub-components, the
animated persona and the reasoning engine. Text-to-speech engine and agent factory are
installed on the PC of an online learner during software installation.</p>
          <p>The reasoning engine performs all monitoring and decision making. Its decisions are
based on a learner model, a case task plan, and an initial state, which are determined at
the Education Center i when the searching intelligent agent interacts with the Education
Center i, and on the agent's current mental state, which is updated as a learner works
through a case. The record of the learner's actions is saved in the Material &amp; Knowledge
Store where it is used to assess the level of the learner's expertise and determine how the
pedagogical agent will interact with the learner in future cases.</p>
          <p>The animated persona is simply an Aglet that can be used alone with a Web page-based
JavaScript interface or incorporated into larger applications, such as the simulation-based
exercises. The persona applet allows animation frames to be easily added and exchanged
to support a choice of personas.</p>
          <p>The simulation can be authored using the language or authoring tool of one's choice. All
simulations communicate with the agent via a common application programming
interface (API) that supports event and state change notifications.</p>
          <p>
            The integrated system is downloaded to and run on the client's side for execution
efficiency. This is in contrast to the architecture of most other Web-based Intelligent
Tutoring Systems where the intelligent tutor sits on the server side, resulting in increased
latency in tutor response to learner actions [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ]. Reducing latency is especially critical
when one considers animating an agent's response to a learner's action, in order to
achieve the perception of awareness in a shared workspace.
          </p>
        </sec>
        <sec id="sec-3-6-2">
          <title>Tutoring</title>
          <p>After the pedagogical agent resides on the PC of the online learner, it performs tutoring
on basis of task plan and feedback.</p>
          <p>
            Depending on the context, a task can be a simple sequence of steps or it can be a complex
and non-linear partial ordering on a set of steps. As Adele, AMOL represents all
procedural tasks using a standard hierarchical plan [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. A plan hierarchy is comprised of
steps, each of which is either a primitive action (e.g. corresponds to a simulation event) or
a complex action (e.g. is itself a plan).
          </p>
          <p>Preconditions and end conditions are represented by Boolean expressions in conjunctive
normal form. Steps are supported as goals by sub-classing the expression tree to include
a new type of Boolean, a step expression, which, like Boolean constants, logical
expressions, and comparative expressions, evaluates to true or false. Evaluating a step
expression is equivalent to evaluating a step's end conditions, which is done recursively
in the case of complex plans. This extension makes it possible to support the creation of
both goal- and task-based plans.</p>
          <p>The plan hierarchy is evaluated at each step to account for the dynamic nature of a
simulation and the unpredictability of a learner's actions. Actions whose goals become
'undone' are automatically re-executed while those whose goals are implicitly satisfied
are skipped. In this way, AMOL's task plan is dynamically updated.</p>
          <p>The reasoning engine runs in three modes. In its most restrictive mode, it will simply
block actions whose preconditions are unsatisfied. Same as Adele, AMOL uses this
opportunity to provide unsolicited feedback about what should be done to satisfy the
desired step's preconditions. The persona displays a Hint button so that a learner may also
ask for hints directly, before guessing or taking an incorrect action. (Similarly, the
persona has a Why? button, that allows a learner to ask for a rationale.) In practice mode,
the engine does not block - the learner can make mistakes - and does not provide
unsolicited feedback, but still allows a learner to ask for hints.</p>
          <p>Once the teaching material available at the Material &amp; Knowledge Store is not enough,
the pedagogical agent will generate and launch a gathering intelligent agent which roams
among the education centers, gathers related teaching material and brings them back.</p>
        </sec>
        <sec id="sec-3-6-3">
          <title>Querying</title>
          <p>Learning process is interactive. With the limited knowledge store at the learner’s side, the
pedagogical agent may not be able to answer various questions and judge various
answers from learners. In this case, we can consider making use of those “knowbots”
residing at distributed education centers. For this purpose, the pedagogical agent creates
and launches a querying intelligent agent from the online learner’s PC. The querying
automatically roams in a series of online education centers and interacts with those
“knowbots” to solve problems as shown in Figure 3.</p>
          <p>Learner</p>
          <p>Knowbots</p>
          <p>Knowledge</p>
          <p>Base</p>
          <p>Education Center
If the querying intelligent agent cannot solve problems with the aid of knowledge bases
of online education centers, it visits a series of online teachers’ PCs as shown in Figure 1.
Why do we need the querying intelligent agent to visit online teachers’ PCs one by one
instead of broadcasting queries to them? The reason is to avoid repetition of teachers’
works.</p>
          <p>Once the querying intelligent agent gets solutions, it immediately sends them to the
pedagogical agent in the learner’s side and then automatically lapses.</p>
        </sec>
        <sec id="sec-3-6-4">
          <title>Terminating</title>
          <p>Once the pedagogical agent accomplished its teaching mission at the PC of the online
learner, it erases all data in the Material and Knowledge Store and brings the study record
of the online learner back to the Education Center i. Then Education Center i save the
study record and study period into a database for future use.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>Most of the existing agent-based online learning systems only focus on using static agent
to solve only learning problems and ignore the mobility attribute of intelligent agent.
Distinguishing from the traditional online learning systems with single education center,
an agent-mediated online learning (AMOL) architecture under which multi-systems for
online learning collaborate to automate online learning processes has been proposed
above. AMOL made full use of the mobility of intelligent agent. Mobile agents in
AMOL can be classified into: pedagogical agent, searching agent and querying agent.
The advantages of AMOL lie at: (1) online learning is able to choose most suitable study
material or ongoing or coming conferencing systems with the aid of searching intelligent
agent; (2) pedagogical agents residing at online learners’ PCs can automatically gather
online teaching material with the aid of gathering intelligent agents; (3) once pedagogical
agents cannot answer students’ questions, it will automatically try to obtain solutions
with the aid of querying intelligent agents.</p>
      <p>In our future work, we will proceed to implement AMOL architecture by using Aglets
Software Development Kit. Interested parties are welcome to comment on AMOL and
offer valuable advices about implementation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Thaiupathump</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bourne</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Campbell</surname>
            ,
            <given-names>J. O.</given-names>
          </string-name>
          (
          <year>1999</year>
          )
          <article-title>Intelligent Agents for Online Learning</article-title>
          .
          <source>Journal of Asynchronous Learning Networks</source>
          , Volume
          <volume>3</volume>
          ,
          <string-name>
            <surname>Issue</surname>
            <given-names>2</given-names>
          </string-name>
          ,
          <string-name>
            <surname>November</surname>
          </string-name>
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Shaw</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Johnson</surname>
          </string-name>
          , W.L., and
          <string-name>
            <surname>Ganeshan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1999</year>
          )
          <article-title>Pedagogical Agents on the Web</article-title>
          .
          <source>Proceedings of the Third Int'l Conf. on Autonomous Agents</source>
          , pp.
          <fpage>283</fpage>
          -
          <lpage>290</lpage>
          , May,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Sargent</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>1992</year>
          )
          <article-title>Back to school for a brand new ABC</article-title>
          . In The Guardian,
          <volume>12</volume>
          March. P.
          <volume>28</volume>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Ovum</given-names>
            <surname>Report</surname>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>Intelligent agents: the new revolution in software.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Genesereth</surname>
            ,
            <given-names>M. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ketchpel</surname>
            ,
            <given-names>S. P.</given-names>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>Software agent</article-title>
          ,
          <source>Communications of ACM</source>
          ,
          <volume>37</volume>
          (
          <issue>7</issue>
          ),
          <fpage>48</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Shoham</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          (
          <year>1993</year>
          )
          <article-title>Agent-oriented programming</article-title>
          .
          <source>Artificial Intelligency</source>
          ,
          <volume>60</volume>
          (
          <issue>1</issue>
          ),
          <fpage>51</fpage>
          -
          <lpage>92</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Selker</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          (
          <year>1994</year>
          )
          <article-title>A teaching agent that learns</article-title>
          ,
          <source>Communications of the ACM</source>
          ,
          <volume>37</volume>
          (
          <issue>7</issue>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Wirthman</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          (
          <year>1996</year>
          )
          <article-title>Gradient DCE has sign-on feature</article-title>
          ,
          <source>PC Week</source>
          ,
          <year>March 1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>[9] http://www.trl.ibm.co.jp/aglets/</mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Brusilovsky</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwartz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>ELM-ART: An intelligent tutoring system on world wide web</article-title>
          . Frasson,
          <string-name>
            <given-names>C.</given-names>
            , Gauthier, G. and
            <surname>Lesgold</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (Eds.),
          <source>Proc. of the Third Int'l Conf. on Intelligent Tutoring Systems</source>
          , pp.
          <fpage>261</fpage>
          -
          <lpage>269</lpage>
          , Springer Verlag,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Russell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Norvig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Artificial Intelligence</surname>
            :
            <given-names>A Modern</given-names>
          </string-name>
          <string-name>
            <surname>Approach</surname>
          </string-name>
          . Prentice Hall,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>