own time and schedule, without live interaction of a
teacher.
Our distributed e-Learning system consists of ex-
ercise agents and user interface programs. Each
exercise agent includes not only exercise data but
teacher’s functions to mark user’s answers, to tell the
correct answers and to show some extra information.
Every computer of students receives some number of
exercise agents from another computer when it joins
the system and takes the responsibility of sending ap-
propriate exercise agents to requesting computers.
The user interface program is developed as a plug-
in program of Firefox web browser. XML-RPC is
used for communication between the plug-in program
and an agent server.
Figure 6 shows one part of key codes in this appli-
cation. This procedure is a part of an exercise agent.
This is the procedure to provide an exercise for a
remote user. In executing this procedure, following
steps are performed.
1. An agent retrieves a clause request/2 which
other agent added from fieldA . Here, Host and
Field are host name and field name of student’s
computer.
2. The agent migrates to Host and enters Field,
and it provides an exercise for student. When the
student finishes the exercise, the agent returns to
the host it belongs automatically.
3. The agent recursively executes this procedure.
Figure 6: This is the procedure to provide an exercise for a
remote user.
In this procedure, two types of field, fieldA and
Field are used. fieldA in line 1 of Fig.6 is used as
a medium of asynchronous communication between
agents, and Field in line 2 is used as an abstraction
of migration.
6 CONCLUSION
The new framework named Maglog for mobile agent
systems was designed and developed on Java environ-
ment. In Maglog, a concept called “field” is intro-
duced. By using this concept, migration, inter-agent
communication and adaptation functions are realized.
The effectiveness of the proposed framework Ma-
glog is confirmed through the demonstration of an ap-
plication: the distributed e-Learning system.
Regarding the issue of error handling, Maglog cur-
rently handles only one type of error which occurs
when an agent intends to migrate to a host. Handlings
of errors after or during migration are remained as fu-
ture works. Security issues are indispensable prob-
lems for distributed applications using mobile agents.
In Maglog, programmable security functions are not
provided sufficiently because security issues are vast.
Those functions are due to be added in future works.
In addition to make programs more practical, it is nec-
essary to provide a program developing environment,
such as a debugging tools and a testing tools.
REFERENCES
Banbara, M. and Tamura, N. (1999). Translating a linear
logic programming language into Java. In M.Carro,
I.Dutra, et al., editors, Proceedings of the ICLP’99
Workshop on Parallelism and Implementation Tech-
nology for (Constraint) Logic Programming Lan-
guages, pages 19–39.
Carriero, N. and Gelernter, D. (1989). Linda in context.
Communications of the ACM, 32(4):444–458.
de Carvalho, C. L., Pereira, E. C., and da Silva Julia, R. M.
(1999). Netprolog: A logic programming system for
the java virtual machine. In Proceedings of the 1st
International Conference on Enterprise Information
Systems, pages 591–598. Setubal, Portugal.
Kawamura, T., Hasegawa, T., Ohsuga, A., and Honiden,
S. (2000). Bee-gent: Bonding and encapsulation en-
hancement agent framework for development of dis-
tributed systems. Systems and Computers in Japan,
31(13):42–56. John Wiley & Sons, Inc.
Lange, D. B. and Oshima, M. (1998). Programming and
Deploying Java Mobile Agents with Aglets. Addison
Wesley.
Satoh, I. (2000). Mobilespaces: A framework for building
adaptive distributed applications using a hierarchical
mobile agent system. In Proceedings of IEEE Interna-
tional Conference on Distributed Computing Systems,
pages 161–168. IEEE Press.
Tarau, P. (1999). Inference and computation mobility with
jinni. In Apt, K., Marek, V., and Truszczynski, M.,
editors, The Logic Programming Paradigm: a 25 Year
Perspective, pages 33–48. Springer.
Winer, D. (1998). Xml-rpc specification.
http://xmlrcp.com/spec.
WEBIST 2006 - INTERNET TECHNOLOGY
126