Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

International Conference on Science &

Technology: Applications in Industry


& Education (2008)

COORDINATION IN COMPOSITE MULTIAGENT ARCHITECTURE: A


CASE STUDY FOR SUPPORTING UNIVERSITY MANAGEMENT
SYSTEM

1
Thiri Haymar Kyaw, 2Ni Lar Thein
University of Computer Studies, Yangon, Myanmar
e-mail: 1thirihaymarkyaw@gmail.com, 2nilarthein@gmail.com

Abstract. Communication and coordination between multiple agents are important issues for a multi-agent system. We
present an approach for token-based coordination in the hierarchical composite multiagent architecture. There are many
heterogeneous composite agents that are composed of several individual agents and two types of coordinator agents,
Intelligent Coordinator agent (ICo) and Assistant Coordinator agent (ACo). When any agent has a task or request or
information, it creates a token and sends to ICo through ACo. Then, ICo chooses correct composite agent and sends the token
to it. Each composite agent has one ACo that is responsible for selecting correct individual agent, passing the token to
addressed agent within the same composite agent and communicating with ICo. Coordinator agents use token based
coordination with the help of Matching Inference Engine (MIE) to route the tokens to correct receiver agents efficiently and
directly. We developed coordinator algorithms for passing the tokens used in ICo and ACo. We described communication
and coordination in some parts of a multiagent architecture for supporting University Management System as a case study.
Using this approach, there is no need to pass the token to unrelated agents and so provide efficient and effective coordination
among large agent teams with very little communication. We present the results which can prove the accelerated
communication and successful coordination between automated entities in university.

Keywords: Multiagent System, Token based Coordination, Agent Communication, and Task Allocation.

1. Introduction
Coordination is central to multi-agent systems. Automated coordination is still a very active research area because
it can decrease operational cost, risk, time and human activities while increasing efficiency, flexibility and cooperation
performance. Coordination between multiple agents requires to perform several various function including messages
passing, tasks allocation, resources sharing, and negotiation to reach the common goal.
There are many widely used coordination approaches such as auction based coordination, token-based
coordination and hybrid approach, etc. Efficient and effective coordination between large agent teams promises for
performing complex and distributed tasks successfully. P. Scerri et al. have developed an integrated token based
algorithm for scalable coordination [11], [12], [14]. They used tokens to encapsulate anything that needs to be shared
by the team, including information, tasks, and resources. The tokens are routed with decentralized manner through the
team via the use of local decision model using Partially Observable Markov Decision Process (POMDP) that
determines what to do with the tokens in order to maximize expected utility. In auction based called market-based
approach [5], [7], one agent acts as auctioneer and both tasks and resources are treated as merchandise. Agents bid for
either single items or combinatorial sets of items in order to maximize their own utilities. The auctioneer maximizes its
utility by selling their merchandise. It develops a complete knowledge of how agents will use a task or resource if
located because the auctioneer’s position is centralized. These approaches have extra routings that tokens are passed to
unrelated agents or unnecessary bids are sent.
The proposed approach uses token-based hierarchical coordination because hierarchical coordination gives the
best results for large-scale systems and token-based approach finds the reasonable solution rather than searching for
the optimal. New coordination algorithms are developed to determine the tokens are passed to where. In previous,
token-based algorithms use the local models for token movement and a token is routed to all agents within the teams.
In this approach, Intelligent Coordinator (ICo) provides token movement decision by using token passing algorithm
called coordination algorithm.
University Management System (UMS) provides support for the University’s mission critical, high volume
administrative systems. Accel UMS [16] is a web enabled information management system designed to automate the
entire operations of a modern university. Accel UMS allows multi-divisional, multi-department system handling that
includes various activities such as Admission, Curriculum management, Library management and Examinations.
ICampus [17] provides full support for multiple colleges and multiple departments, providing a very flexible
easy-to-use user interface and parameterized options. ICampus services not only support administration and
management but also provide instructors with a full picture on the academic standings of each student. It also provides
any-time inquiry about any student’s financial position and administrative information related to student affairs such
as attendance, documents, marks, transcript, courses and others to help the administration departments in decision
making and full status monitoring.
In this paper, we show a multiagent system for supporting university management system as a case study. This
concept offers a range of coordinated services, tasks allocation and access to resources through the intelligent
coordinator agent and supports on the fundamental computerized subsystems for the university’s administrative,
teaching, library and student affairs. Traditional university systems provide all workflows as fully automated
computerized systems. In our multiagent system, each subsystem is constructed as a composite agent and ICo
communicates and coordinates among composite agents. A composite agent is composed of agent teams or individual
agents. If anyone agent appears a new task or information or request, it creates a token and sends to ICo through the
Negotiator Agent (ACo). ACo has responsibilities of passing the token to correct destination agent within the same
composite agent and uses coordination algorithm like ICo. ICo determines when and where to pass the token directly
using its coordination algorithm with the help of MIE. MIE is a simple rule based reasoning engine which includes
required matching functions.
In the rests of the paper, we discuss the hierarchical composite multiagent architecture in section 2. In section 3,
token-based coordination with token passing algorithms for ICo and ACo is briefly explained. We describe the case
study for university management system in section 4 and evaluation results in section 5. Finally, in section 6, we
conclude the paper with discussion.

2. Hierarchical Composite Multiagent Architecture


Multiagent system architecture is a typical system architecture that has intelligent agents as the system components
and social communication as the interactions. Hierarchical architecture is a typical control-oriented architecture of
multiagent system. It well matches human organization management procedures and provides effective feedback and
control ways [4]. In this multiagent architecture, there have many heterogeneous composite agents and one
coordinator agent. Coordination in hierarchical composite multiagent architecture based on [10] is shown in figure 1.
We create a composite agent team CA = {CA1, CA2, …, CAn} and CAi is composed of a Assistant Coordinator
agent (ACo) and member agents, CAi = {ACo, A1, A2, …, An}. ACo is responsible for selecting appropriate agents to
pass the token and communicating within CAi. Intelligent Coordinator agent (ICo) is responsible for token movement
decisions between composite agents for message informing, task allocation, negotiation, requesting and resource
allocation. Each CAi has its own behaviors and goals. Some individual agents may be humans and their profile is
included in CAi. For example, teacher agents are humans and they do the teaching. Agents in the same team do the
same kinds of tasks.

ICo

Token messages Token messages


Token messages

ACo ACo ACo

A1 A1 … A2 A3
A2 … A3 … A1
A2 …

Figure 1. Coordination in Hierarchical Composite Multiagent Architecture

Intelligent coordinator (ICo) works with three components: ICo, Matching Inference Engine (MIE) and AgentList
schema. ICo is a program implementing coordination algorithm, also called token passing algorithm that determines
where to pass the token with the help of the MIE. MIE is a rule based reasoning engine that works in coordination
algorithms. The detail rule explanations of MIE depend on the specific application and may be changed according to
the nature of the application. AgentList schema is a knowledge base that contains the data of all individual agents in
this case study multiagent system. One agent record includes: AgentName, CompositeAgent, AgentID, Address,
TeamName, Role, Skill, Current Assigned Task and Task Schedule. AgentID is combined with platform and
localName according to [3]. AgentList is updated automatically whenever any one agent record is changed.

3. Token Based Coordination


Coordination in the activities of the agents in a multiagent system is a key element of Multiagent System
organization. Token-based algorithms have been developed in [2], [13] and [14]. A token encapsulates control and
information needed for message passing, task allocation, and resources sharing and so on. The general format of a
token used in our approach is shown in figure 2. There are five types of tokens: inform token, task assign token,
resource token, request token and negotiate token.

Token ID Title Content Detail Description


Sender ID Sender Address
Receiver ID Receiver Address
Attachment Deadline Signature Reply
Figure 2. General Format of a Token.

When any agent wants to inform some messages or notices, it creates a token and passes to the ICo. ICo replicates
the token, fills with receiver address and sends to all composite agents in the same time. When ACo within a
composite agent receives inform token, it passes the token to all individual agents included in its composite agent.
Individual agents may request the resource to perform their tasks. When ICo receives a request token, ICo checks
the availability of the resource with the help of MIE which searches the detail facts of the resource in the related
databases and checks whether the other agents currently used or not. If the resource is available, the resource is packed
into the attachment and the token is sent to the agent that requested the resource.
When ICo receives the resource token, ICo searches the requested agents. If there are more than one requested
agents, ICo checks the tasks’ priorities that each agent have to do using this resource and chooses one agent that has
maximum priority of the task. Then ICo sends the resource token to the selected composite agent and ACo passes the
token to the requested agent. If there is more than one, ACo chooses appropriate agent based on the task’s priority like
ICo. The resource token passing procedures for ICo and ACo are shown in figure 3 and 4.

if ( t.tokenID = 2 ) // task allocation token


{ SCA = φ ; // selected CA
for all CAi ∈ CA
SCA = TitleMatching(t.TitleContent)
t.Receiver = CAi; send t to SCA ;
}
if ( t.tokenID = 3 ) // Resource token
{ if ( CheckRequestedCA ( ) = 1 )
{ t. Receiver = RCAi ; send t to RCAi ; }
else if ( CheckRequestedCA ( ) > 1 )
if ( task . Priority = MAX) { t. Receiver = RCAi ;send t to RCAi ; }
}

Figure 3. Token Passing Procedure for Task and Resource Tokens Used by ICo.

3.1 Task Allocation

If the token is task token ICo checks the category of task, finds the appropriate composite agent with the help of
MIE and then sends to an appropriate composite agent. ACo selects optimal agents to perform the task among all
agents that accepted the task. Token passing procedure for a task token used in ICo and ACo are shown in Figure. 3
and 4. SelectOptimal function is based on experiences Expr, skill or ability Abl and free time to perform the task T is
defined in equation (1). A task t will be considered to satisfy the specification R if R(t) = 1. Assuming that R(t) is a
reward function for an assigned task and defined in equation (2) and Expr can be seen in equation (3).
selAg= MIN (WorkLoad ( SAg i )) × MAX R (t ).P (t / Ag , Expr , Abl , T )
∀SAg i ∈ SAg ∀SAg i ∈ SAg (1)

number of finished tasks within deadline with best quality


R(t) = (2)
number of assigned tasks
number of finished tasks in previous
Expr = (3)
number of assigned tasks in previous

if ( t.tokenID = 2 )
{ SAg = φ ; // selected agent
for ∀ Ag i ∈ AG
if ( TitleToRoleMatching ( ) = 1 ) SAg = SAg U Agi ;
for ∀ SAg i ∈ SAg
{ inft = createToken ( ); Send inft to SAgi ;
if (SAgi reject the task ) SA = SAg - SAgi ;
}
if (SAg > required no. of agents) SAg = SelectOptimal( );
for ∀ Ag i ∈ AG Send t to Agi ;
if (Agi reject the task ) Negotiate( );
else Assign Task and Update Workload;
}
if ( t.tokenID = 3 )
{ if ( CheckRequestedAgents ( ) = 1 ) send t to Agi;
else if ( CheckRequestedAgents ( ) > 1 )
if ( task . Priority = MAX) send t to Agi ; else send t to ICo ;
}
Figure 4. Token Passing Procedure for Task and Resource Tokens Used by ACo.

4. Case Study for University Management


We consider a composite agent team CA = {AdminAgent, DeptAgent, LibraryAgent, StuAffairAgent,
StudentAgent} is being evaluated by prototyping in JADE [3]. Each composite agent has one interface which allows
adding and deleting individual agents within the same team.
Behavior of AdminAgent is administration and it is composed of one administrator agent and staff agents.
DeptAgent is composed of all department teams that include several teacher agents. Its behaviors and tasks are
teaching, supervising, correction, drawing course schedule or school timetable, etc. LibraryAgent includes librarian
agent, library staff agents and its own tasks are member registration, book reservation and lending, inserting or
updating databases, etc. StuAffairAgent includes Head agents, staff agents, etc in student affairs. StudentAgent
represents the students who use this system and it contacts to ICo for the requests. Some individual agents may be
humans and their profiles are included in CAi. For example, teacher agents are humans and they do the teaching.
Agents in the same team do the same kinds of tasks.

Figure 5. Timetable for classes.


DeptAgent interface provides teachers’ information, course information and timetable for all classes as shown in
figure 5. StuAffairAgent provides exam scheduling, staff’s information and student registration. All ACo stored the
sending and receiving messages in the message queue in the running time. AgentICo handles the AgentProfiles for
selecting the correct receiver agent. Using this system not only provides coordination in university subsystems but also
all students can see the course information, timetables, exam information and easy access to the library.

4.1 Inform Token

When AgentICo receives inform token, which title is “Meeting for all teachers and staffs”, its MIE checks the title
and sends to all related composite agents (Admin, Dept, StuAffair and Library). When ACo in each composite agent
receives this inform token, it passes to all related individual agents in its team. When AgentICo receives inform token,
which title is “To attend Seminar”, its MIE checks the title and sends to related composite agent (DeptAgent). When
ACo in DeptAgent receives this inform token, it passes to related teacher agents in its team.

4.2 Task Assignment Token

AdminAgent creates a token for course assignment shown in figure 6(a) and sends to ICo. When ICo receives the
token, it resets the correct receiver agent according to the Matching function in MIE and sends to the related
DeptAgent. There is no need to pass the other composite agents. When DeptAgent receives the task token, its ACo
chooses appropriate teachers for each course according to the equation (1). P (t/Ag, Expr, Abl, T) is the probability of
tasks will be finished. We assumed Expr is 1 for each working year and it represents the number of working years for
each teacher agent. Abl is the union of role, rank, degree of education and preference or last year experienced course
for each teacher which expressed as integer values. T represents an available time to teach the course. R (t) for each
teacher agent is marked in the Remark field of TeachersProfiles. Workload for each teacher agent is also included in
the TeachersProfiles.
After selecting the appropriate agents that have minimum workload together with maximum probability, it
dynamically generates the individual teacher agents and adds their addresses as the receiver addresses. Then, it sends
the task assignment token to selected teacher agents for assigning the course. Each receiver agent receives the task
assigned token shown in figure 6(b) and replies accept or reject. If any conflicts arise, ACo negotiates to get the
agreement among teachers using negotiate token or it sends to ICo. And then ICo passes the token to AdminAgent.

(a)

(b)

Figure 6. (a) AdminAgent creating a task token. (b) An individual agent receiving a token.
4.3 Requesting the Resource

Teacher agents may request the resource, for example, a scanner or web cam. When ICo receives a request token,
it checks in the related databases whether the status of the resource is available or not. If the resource is available, it
inform for getting the resource to the requested agents. If the resource is currently used, the agent’s request is stored in
the RequestList and it inform about the resource is not available currently. When any resource is available, ICo checks
RequestList and give the resource to the high priority requested agent in the list.
If Student agent or Teacher agent requests to lend a particular book in the library, ACo in the LibraryAgent checks
for the status of the requested book. If the book has been lent, ACo reserves this book for the requested agent.

4.3 Requesting the Resource

Teacher agents may request the resource, for example, a scanner or web cam. When ICo receives a request token,
it checks in the related databases whether the status of the resource is available or not. If the resource is available, it
inform for getting the resource to the requested agents. If the resource is currently used, the agent’s request is stored in
the RequestList and it inform about the resource is not available currently. When any resource is available, ICo checks
RequestList and give the resource to the high priority requested agent in the list.
If Student agent or Teacher agent requests to lend a particular book in the library, ACo in the LibraryAgent checks
for the status of the requested book. If the book has been lent, ACo reserves this book for the requested agent.

4.3 Negotiation

Master students need to negotiate about their seminar date and it will be decided based on the available time of the
senior teachers. StuAgent sends a request token with prefer seminar date to ICo that passes to ACo in DeptAgent. ACo
sends this request to senior teacher agents that is represented human teachers. Teacher agents reply accept the
requested date or reject the requested date and proposed another date. Then ACo negotiates to get an agreed date
within the teacher agents and inform the date agreement to the requested StudentAgent.
In this case study, all the tasks can be finished without delay and agents can be assigned tasks with equal workloads.
It also provides requesting the resource or service efficiently and negotiating between several agents successfully.

5. Evaluation Results
We run our system in six personal computers (Pentium (R), 3.20 GHz and 1 GB memory) with java Sun SDK 1.5,
MySQL Server 5.0 and JADE version 3.4.1. AdminAgent, DeptAgent, StuAffairAgent, StudentAgent, LibraryAgent
and AgentICo are run in different computers and mySQL server is located in one computer which runs AgentICo.

4500

4000
Total Message Passing Time (ms)

3500

3000

2500

2000

1500

1000

500

0
10 20 30 40 50 60 70 80 90 100
Number of Agents

Coordination without Coordinators(ICo & ACo)


Coordination through Coordinators (ICo & ACo)

Figure 7. Performance comparison between coordination with and without ICo and ACo.

We tested the task token passing among individual agents in our model and simple point-to-point communication
model in which agents are run in different computers and communicates each other passing token message to all
agents until to reach the correct receiver agent. Without having coordinator agents, each sender agent cannot know
information about all agents and most of tokens may reach unrelated agents. In our model, coordinator agents act as
the middle agents that forward the token messages given by sender agents to the correct receiver agents. So, sender
agent doesn’t need to know about the information of the receiver agent. Figure 7 shows the comparison of total
message passing time on our model and simple point-to-point model.
In manually or a traditional point-to-point system, task allocation to teachers in a university takes more time
including negotiating time until to reach the global agreement. In our approach, task assignment can be performed
choosing optimal agents directly without extra routing to inappropriate agents with very little negotiating time. The
results show that the proposed approach takes less time for message passing. It can reduce the communication time for
interaction between multiple agents and intends to scalability for large agent teams.

6. Conclusion
We presented a token-based coordination approach for multiagent university architecture through middle
coordinator agents. In this paper, coordinator algorithms are developed for reaching the tokens to the destination
agents directly and finishing the tasks in time. Our proposed multiagent system architecture includes many
heterogeneous composite agents and two coordinator agents: Intelligent Coordinator (ICo) and Assistant Coordinator
(ACo). ICo takes the duty of coordination and inter agent communication between composite agents. ACo provides
the intra communication between individual agents within the same composite agent. Coordinator agents works with
coordinator algorithms and Matching Inference Engine (MIE) which has several rule functions to work with required
databases to determine where destination to pass the token. Main purpose of this approach is to provide efficient and
effective coordination among large agent teams with very little communication. Our case study for university
management system can show that the proposed approach is able to reach the token directly to the correct receiver
agent without extra routing to other agents and reduce human involvements in processes. This approach promises not
only to accelerate university management but interactions between university faculties and students.

References

[1] A. Aldea, B. Lopez, A. Moreno, D. Riano and A. Valls, “A Multi-Agent System for Organ Transplant Coordination”, Proc. of
the Eighth Conference on AI in Medicine, Europe, 2001.
[2] A. Farinelli, L. Iocchi, D. Nardi and V. A. Ziparo, "Assignment of Dynamically Perceived Tasks by Token Passing in
Multi-Robot Systems", Proceedings of the IEEE, Vol. 94, Issue 7, July 2006, pp. 1271-1288.
[3] F. Bellifemine, G. Caire and D. Greenwood, “Developing Multi-agent Systems with JADE”, Wiley Series in Agent
Technology, 2007, ISBN: 978-0-470-05747-6.
[4] H. Tianfield, J. Tian and X. Yao, "On the Architectures of Complex Multi-Agent Systems", Proceedings of the Workshop on
Knowledge Grid and Grid Intelligence, IEEE/WIC International Conference on Web Intelligent/ Intelligent Agent Technology,
Oct, 2003, pp. 195-206.
[5] J. M. Vidal, “Multiagent Coordination Using a Distributed Combinatorial Auction”, AAAI Workshop on Auction Mechanisms
for Robot Coordination, 2006.
[6] JM. Dastani, F. Arbab and F. de Boer, “Coordination and Composition in Multi-Agent Systems”, Proc. of the Fourth
International Conference on Autonomous Agents and Multiagent Systems (AAMAS’05), 2005.
[7] M. Ham, G. Agha, "Market-based Coordination Strategies for Large-scale Multi-Agent Systems", System and Information
Sciences Notes, Vol. 2, No. 1, pp. 126--131), 2007.
[8] M. Oprea, MAS_UP_UCT: “A Multi-Agent System for University Course Timetable Scheduling”, International Journal of
Computers, Communications and Control. vol. 2, no. 1. pp. 94-102, 2007.
[9] M-W. Jang, "Efficient Communication and Coordination For Large-Scale Multi-Agent Systems", Ph.D Thesis, University of
Illinois at Urbana-Champain, 2006.
[10] N. Bensaid and Ph. Mathieu, “Integration of hypothetical reasoning in hierarchical multi-agent architecture”, 1996.
[11] P. Scerri, Y. Xu, J. Polvichai, B. Yu, S. Okamoto, M. Lewis, and K. Sycara, “Challenges in Building Very Large Teams”,
Lecture Notes in Economics and Mathematical Systems, Vol. 558, Springer Berlin Heidelberg, 2007, pp. 197-228.
[12] P. Scerri, J. A. Giampapa, K. P. Sycara.: Techniques and Directions for Building Very Large Agent Teams. International
Conference on Integration of Knowledge Intensive Multi-Agent Systems (KIMAS’05). (2005) 79-84.
[13] P. Scerri, A. Farinelli, S. Okamoto and M. Tambe, "Token Approach for Role Allocation in Extreme Teams: analysis and
experimental evaluation", 2003.
[14] Y. Xu, P.Scerri, B.Yu, S. Okamoto, M. Lewis, and K. Sycara, “An integrated Token-Based Algorithm for Scalable
Coordination”, Proc. of the Fourth International Conference on Autonomous Agents and Multiagent Systems (AAMAS’05),
2005, pp. 407 – 414.
[15] Y. Xu, P. Scerri, K. Sycara and M. Lewis, “Comparing Market and Token-Based Coordination”, Proc. of the Fifth International
Conference on Autonomous Agents and Multiagent Systems (AAMAS’06), 2006.
[16] http://www.accelfrontline.com/
[17] http://www.irange.net

You might also like