You are on page 1of 4

A Personalized Learning Platform Based on

Multi-Agent and Moodle


Jian Li, Lulu Ding and Pengkun Li
Department of Electrical and Information Engineering, Shaanxi University of Science & Technology
Mailbox No. 849, WeiYang District, Xian, Shaaxi, 710021, China
asg86@126.com
AbstractJADE (Java Agent Development Framework) is
integrated into Moodle (Modular Object-Oriented Dynamic
Learning Environment) to construct a personalized learning
platform, which combines Multi-Agent and decision tree
technology. The framework of the system is firstly described, and
then the Course Agent is presented to explain the application of
Agent in Moodle. The flowchart of Course Agent and its internal
agents communication are analyzed in the paper. With the
support of course agent, appropriate learning resources will be
presented to the student once his or her learning behavior data
are collected and processed completely. From the experiment, it
can be seen that the system can satisfy the personalized needs of
remote education to a certain degree.

In this paper, JADE was integrated into Moodle to provide


appropriate learning resources for every student according to
his or her knowledge level.
III.

ARCHITECTURE DESIGN

The architecture of the system is shown as Fig.1, which is


composed of Moodle VLP, Database and Server and JADE
Agent platform including three containers (Container1,
Container2 and Main Container).

Keywords-Agent; JADE; decision tree; Moodle; personalized


learning

I.

INTRODUCTION

Remote education has overcome the disadvantages of


traditional education, which provides virtual learning
environment without space-time limitation. It develops rapidly
with the development of the computer and Internet. However,
it still suffers from some disadvantages, such as the lack of
personality. To solve the problem, JADE (Java Agent
Development Framework) was integrated into Moodle
(Modular Object-Oriented Dynamic Learning Environment)
[1] in this research to construct a personalized virtual learning
platform.
The rest of the paper is structured as follows: Section 1
presents the literature review on intelligent agents in learning
systems. Section 2 describes the architecture design and a
description of how the agents work. Furthermore, take one of
agents for example to introduce agent application in Moodle,
and the experiment results are given. The paper concludes
with summary of the presented work and suggestions for
future research.
II.

LITERATURE REVIEW

Agent technology has been used widely in virtual learning


platform. Some examples are given by Hua Zhang [2] and
Adrian Scutelnicu [3]. Furthermore, Ning ling Li [4]
developed a personalized recommendation system based on
JADE. And Lihua Xue [5] proposed a cooperative and
learning method using Multi-Agent.

Figure 1. The system architecture

Here Moodle VLP (Virtual Learning Platform) means


Virtual network learning environment, where students can
study and communicate.
MYSQL database and Apache Web Server are used in this
research as the Database and Server respectively, which
provide support to Moodle and JADE.
The activity of agents is limited in containers, which can
exist in JADE at the same time, whereas Main Container is
indispensable. It includes three important agents.
DF (Directory Facilitator): Providing yellow pages
services which must be registered in DF before used to other
agents. It maintains an accurate, complete and timely list of
agents and must provide the most current information about
agents in its directory.
AMS (Agent Management System): It is responsible for
managing the operation of an Agent platform. Each agent must
register with an AMS in order to obtain an AID (Agent
Identifier). It can request that an agent performs a specific
management function, such as to terminate its execution, and

The work is supported by Shaanxi University of Science and Technology (SUST-B02 and dx08-06)

978-1-4244-4507-3/09/$25.00 2009 IEEE

has the authority to enforce the operation if the request is


ignored.
MTS (Message Transport Service): It is a service to
transport messages between agents on any Agent platform and
between agents on different Agent platforms.

C. Data collection
Course Monitor agent takes charge of collecting students
learning behavior data. The data is described in Tab.I.
TABLE I.

Next Course Agent is used as an example to describe how


the JADE Agent platform works [6-7].
IV.

Data
userid
courseid
sectionid
TotalTime
TotalNum
quiz_score_before
quiz_score_after
assignment_score

AN EXAMPLE: COURSE AGENT

A. Internal agents
Course Agent includes three internal agents: Time agent,
Course Resource agent and Course Monitor agent.
Time agent: To create and start the instance of Course
Resource agent and Course Monitor agent.
Course Resource agent: To handle the calls to the
Course Monitor Agent.
Course Monitor agent: To collect students behavior
data and provide appropriate resource for every student
according to his or her features.
B. Communication among agents
Different agents use ACL (Agent Communication
Language) which conforms to FLAP (The Foundation for
Intelligent Physical Agents) styles to communicate with each
other.
As soon as the Time agent is started, it creates and starts
the instances of Course Resource agent and Course Monitor
agent. After that, an ACL message will be sent from Course
Resource agent to the Course Monitor agent, which informs
the latter to collect students learning behavior data. If the
Course Monitor has received the information, it begins to
work, otherwise it will send failure message to the Course
Resource agent. The flowchart is shown in Fig.2.

DATA TO BE COLLECTED
Description
User identity
Course identity
Section identity
The time a student has learned
The number of study
quiz score tested last time before learning
quiz score tested last time after learning
Assignment score

D. Data processings
Decision tree algorithm [8] was used in this paper to
process the learning behavior data. According to the classified
rules, the students knowledge level can be predicted and
appropriate resource of the chapter will be provided to him or
her. The learning resource will be updated when the student
logs in every time.
Information Gain Ration is used as classified assessment
function in C4.5 decision tree algorithm. It is defined as
follows.
GainRatio( x ) =

Gain( x )
SplitInfo( x )

Gain ( x ) = I [ S1 , S2 " Sm ] SplitInfo( x )

(1)
(2)

S
S
I [ S1 , S2 " Sm ] = i log 2 i
S
S
i =1

(3)

T
T
SplitInfo( x ) = i log 2 i
T
T
i =1

(4)

Spanning Tree algorithm is described as follows.


Function C4.5FormTree (T, T_AttributeList)
{
Create the root node N;
If (T belongs to the same category C)
{
Return N as a leaf node; mark it as the category C;
}
If (T_attibuteList is NULL)
{
Return N as a leaf node, and mark it as the most
frequent category in T;
}
For (each of T_AttributeList)

Figure 2. The flowchart of Course Agent

{
Compute information gain ratio;

Score is divided into five levels: A represents the score


greater than or equal to 90 points, B represents the score
between 80 and 89 points, C represents the score between 70
and 79 points, D represents the score between 60 and 69
points, E represents the score smaller than 60.

}
test_attribute of N = the attribute with the highest
information gain ratio in T_AttributeList;
If (test_attribute is continual)

The tree of the data set is described as Fig.3.

{
Find out its division threshold;
}

(5,+)

(1,3] (3,4] (4,5]


high low high
high
high
high
high
low
low

low
low
low

For (each of new leaf nodes from N)


{

a)

If (the sample set T that the new leaf node


corresponds to is NULL)

0~2
high
high
low
low
low
low

high
low

high

Produce a new leaf node from the new leaf node,


and mark it as the most frequent category in T;
}

C
high
high
high

quiz_score_after

high
high
low
low

low
low
low
low

A
high

c)

Else

3~4 5~6 7~8 9


high high high
low

b)

quiz_score_before
B

B
C
low
high
low
high
high
high
high
low
d)

D
low
low

E
low

assignment_score
A

high
high
high

Do C4.5FormTree (T,T_AttributeList), and split


it continually;
}

B
C
low
high
low
high
high
low
low
low

D
low

e)

Figure 3. The tree of small data set

}
}
Then, we take a small data set described in Tab. II to
explain the specific execution process of the algorithm. The
data set has been processed. Of course, the data set is too
small to generate accurate classified rules.
TABLE II.
TotalTime

TotalNum

TotalTime
[0,1]

SMALL DATA SET

TotalNum

quiz_score

(3,4]

5~6

high

[0,1]

0~2

low

(1,3]

0~2

low

[0,1]

0~2

low

(1,3]

3~4

high

(1,3]

0~2

high

(5,+)

high

[0,1]

0~2

low

(1,3]

3~4

low

(1,3]

0~2

high

(hours)

quiz_score

_before

Assignment

_after

level

_score

(5,+)

7~8

high

(4,5]

7~8

low

Compute the information gain ratios of the five


attributes, and select the largest one as the root node.
There are five attributes and one conclusion in Tab. II. The
number of the data set is 12, and the number of the category
high is six as same as the category low.
Before we compute the information value, we must know
two rules. One is the information value is zero when the
number of the category high or low is zero. The other is the
information value is largest when the number of the category
high is equal to the low. So we can get I [ S1 , S2 ] = I [6,6] = 1 .
Evaluate the first tree in Fig.3.
There are five different values of the TotalTime, and their
numbers of category high and low is respectively
[0,3],[3,2],[1,0],[0,1],[2,0].

I [0, 3] = I [1, 0] = I [0,1] = I [2, 0] = 0


3
3 2
2
I [3, 2] = log 2 log 2 = 0.971
5
5 5
5

SplitInfo(TotalTime) = I ([0,3],[3, 2],[1, 0],[0,1],[2,0])


=

3
5
1
1
2
I [0, 3] + I [3, 2] + I [1,0] + I [1,0] + I [2,0]
12
12
12
12
12

= 0.405

Gain (TotalTime) = I [6,6] SplitInfo(TotalTime) = 0.595

GainRatio(TotalTime) =

Gain (TotalTime)
= 1.469
SplitInfo(TotalTime)

Compute the other four attributes like TotalTime. We can


get the information gain ratios as follows.
GainRatio (TotalNum ) = 0.263
GainRatio( quiz _ score _ before) = 2.003
GainRatio( quiz _ score _ after ) = 5.29
GainRatio ( assignment _ score) = 1

The information gain ratio of quiz_score_after is largest,


so it is the root node.
Recursive call the procedure until all data cant be
divided. Then the decision tree can be generated.
According to the tree, decision rules can be generated. Of
course, the data set is too small to generate accurate rules. The
example is just to explain the procedure of algorithm.
E. Experimental results
The interface between JADE and Moodle, which has been
annotated by red line, is shown in Fig.4. The yes/no status
of the agents which is retrieved from the Moodle database can
be set up by the instructor.

Figure 6. The resource of the 10th chapter for high level students

V.

CONCLUSIONS AND FURURE WORK

JADE is integrated into Moodle to construct a personalized


learning platform in this paper. With the support of MultiAgent and Decision Tree technology, the platform can provide
personalized service to some extent for students mainly
through by collecting and processing students learning
behavior data. The intelligent navigation will be discussed in
the following research.
ACKNOWLEDGMENT
We thank Shaanxi University of Science and Technology
for supporting the parts of the research (under grant SUST-B02
and dx08-06). We also thank our companions for their concern
and support.
REFERENCES
[1]
[2]
[3]

Figure 4. The interface between JADE and Moodle

After a student has logged in, if his test result of a chapter


before learning is low, the system will provide low level
resource of the chapter to him or her, otherwise high level
resource will be presented.
The resource of the 10th chapter for low level students is
shown in Fig.5, and the resource for high level students is
shown in Fig.6.

[4]

[5]
[6]

[7]

[8]

Figure 5. The resource of the 10th chapter for low level students

Tim Hunt, Penny Leach & Anthony Borrow Helen Foster, Introduction
to Moodle Programming, http://dev.Moodle.org/.
Hua Zhang., Research on Personal Decision Support Assistant Agent,
China: Defense Science University, 2005.
Adrian Scutelnicu, Fuhua Lin, Kinshuk, Tzu-Chien Liu, Sabine Graf &
Rory McGreal, Intergrating JADE Agents into Moodle, the
International Workshop on Intelligent and
Adaptive Web-based
Educational Systems, Hiroshima, Japan, pp.215-220, November 2007.
Ningling Li, Research and Implementation of Learning Communities
Building and Personalized Recommendation System based on JADE,
China: Shanghai Jiao Tong University, 2007.
Lihua Xue, Research on Multi-Agent Coorperation and Learning
Method, China: Changsha University of science & techonology, 2008.
Jean Vaucher & Ambroise Ncho, JADE Tutorial and Primer,
http://www.iro.umontreal.ca/~vaucher/Agents/Jade/JadePrimer.html,
2004.
Fabio Bellifemine, Glovanni Caire & Dominic Greedwood, Develop
Multi-Agent Systems with JADE, England: John Wiley & Sons, Ltd,
2007.

Hongyan Zhao. The Application of Decision Tree in the Students


Result Analysis, China:Shandong normal University, 2007.

You might also like