The Use of Multi Agent Paradigm to Build an Agent Based Architecture for E-Commerce Application

 

Dr. M. Venu Gopala Rao*, M. Babita Jain and Purvi Shukla

Raipur Institute of Technology, Raipur, India

*Corresponding Author E-mail: [email protected]

 

ABSTRACT:

In artificial intelligence research, agent-based systems technology has been hailed as a new paradigm for conceptualizing, designing, and implementing software systems. Agents are sophisticated computer programs that act autonomously on behalf of their users, across open and distributed environments, to solve a growing number of complex problems. Increasingly, however, applications require multiple agents that can work together. A multi-agent system (MAS) is a loosely coupled network of software agents that interact to solve problems that are beyond the individual capacities or knowledge of each problem solver. There are many such real time applications which are very complex and beyond the scope of individual problem solver such as computer games simulation, population explosion problem, simulation of share market trading, aircraft maintenance, electronic book buying coalitions, military demining, wireless collaboration and communications, supply-chain management, joint mission planning and electronic commerce (online trading). The paper aims at developing a agent based architecture for supporting online trading using the multi agent systems platform. The present work has successfully implemented one such agent based environment for online fruit trading comprising of broadly three agents. This case study describes the implementation of a sample marketplace application called 'Fruit Market'. The objective is to enable the market participants to electronically trade tasty fruit over a network via their agents. Once we have a specification, the desired system can be situated within a domain that contains similar features and challenges. As the agents will exhibit trading behavior it is obvious that this application is best situated within the Multi-Agent Trading domain.� This domain contains two role models: Distributed Marketplace and Institutional Auction, hence the next step is to consider which roles from the domain's role models best fit our specification. The details of selection of roles and responsibilities and implementation of agent architecture are discussed in the paper.

 

KEYWORDS: Artificial Intelligence, Multi Agent Systems, Agent, and Agent based simulation

 


INTRODUCTION:

Agents are everywhere. People encounter intelligent agents, information agents, mobile agents, personal assistant agents, and other types of agents daily.

 

Researchers have defined some helpful notions regarding agents. First, authors have acknowledged that agents are entities within an environment, and that they can sense and act (not necessarily in that order). This means that agents are not isolated entities, and that they are able to communicate and collaborate with other entities.

 

Once agents are ready for collaboration, they will need to find the other agents they need to collaborate with. Such a task is easy if they know exactly which agents to contact and at which location. However, a static distribution of agents is very unlikely to exist as the agents are not always readily available to interact with others.

 

The dynamic nature of agent distribution motivates research by groups working on the standardization of dynamic collaborative multi-agent systems. Some of these groups are the Foundation for Intelligent Physical Agents (FIPA), the Object Management Group (OMG), the Knowledge-able Agent-oriented System (KAoS), and the General Magic group.

 

Background:

Although agent researchers come from a variety of backgrounds, the Distributed Artificial Intelligence (DAI) and the Distributed Computing (DC) communities stand out as traditional agent research areas.

During the mid-1970s, researchers from DAI began to formulate some of the basic theories, architectures, and experiments that showed (computationally speaking) how interaction and division of labour could be effectively applied to problem solving1. Experiments showed that intelligent, rational behaviour is not an attribute of isolated components, but rather an outcome that emerges from the interaction of entities with simpler behaviours2-8.

 

More recently, DC became an active discipline in agent research. DC is challenged to integrate heterogeneous, largely autonomous computer components that span several generations as part of collaborative environments. From this perspective, agents are applied as interaction entities to mediate differences among components, while providing a syntactically uniform and semantically consistent intermediary role9.

 

Agents Overview:

Agents are often described as entities with attributes considered useful in a particular domain. Thus intelligent agents are seen as entities that emulate mental processes or simulate rational behavior; personal assistant agents are entities that help users perform a task; mobile agents, where entities that are able to roam networking environments to fulfill their goals; information agents, where agents filter and coherently organize unrelated and scattered data; and autonomous agents, where agents are able to accomplish unsupervised actions.

 

According to their attributes, agents could be classified as showing weak or strong notions of agency11. The weak notion of agency, which comes from DC and DAI, sees agents as a paradigm of network based cooperative automation. The strong notion of agency, from Artificial Intelligence (AI), leads toward an anthropomorphic view where agents are seen as conscious, cognitive entities that have feelings, perceptions and emotions just like humans12,7.

 

Multi-agent Systems Overview:

Terminology:

As part of their study of agent systems, researchers began to develop (purposely or otherwise) terminology for agents. Some of these terms are described as follows9:

        Agent Architectures analyze agents as independent reactive/proactive entities. Agent architectures conceptualize agents as being made of perception, action, and reasoning components, which governs the agents' actions, including what to perceive next.

        Agent System Architectures analyze agents as interacting service provider/consumer entities. System architectures facilitate agent operations and interactions under environmental constraints, and allow them to take advantage of available services and facilities.

        Agent Frameworks are programming tools for constructing agents. Examples of these are Voyager13, Aglets 14, and Odyssey15.

        Agent Infrastructures provide the regulations that agents follow to communicate and to understand each other, thereby enabling knowledge sharing.

 

What is a Multi-agent System?

As seen from DAI, a multi-agent system is a loosely coupled network of problem-solver entities that work together to find answers to problems that are beyond the individual capabilities or knowledge of each entity16. More recently, the term multi-agent system is now used for all types of systems composed of multiple autonomous components showing the following characteristics17, 18:

        each agent has incomplete capabilities to solve a problem

        there is no global system control

        data is decentralized

        computation is asynchronous

 

Finding Agents:

There is a need for mechanisms for advertising, finding, fusing, using, presenting, managing, and updating agent services and information. To address these issues, the notion of middle agents5 was proposed.

        Facilitators: agents to which other agents surrender their autonomy in exchange for the facilitator's services10. Facilitators can coordinate agents' activities and can satisfy requests on behalf of their subordinated agents.

        Mediators: agents that exploit encoded knowledge to create services for a higher level of applications19.

        Brokers: agents that receive requests and perform actions using services from other agents in conjunction with their own resources6.

        Matchmakers and yellow pages: agents that assist service requesters to find service provider agents based on advertised capabilities2-6.

        Blackboards: repository agents that receive and hold requests for other agents to process20, 4.

 

Agent Interaction:

Interaction is one of the most important features of an agent18. In other words, agents recurrently interact to share information and to perform tasks to achieve their goals. Researchers investigating agent communication languages mention three key elements to achieve multi-agent interaction21, 9, 22:

        A common agent communication language and protocol

        A common format for the content of communication

        A shared ontology

 

MAS Architectures Review:

If the agent-oriented paradigm is to succeed, systematic methodologies will be required for specifying and structuring applications as multi-agent systems. Once these methodologies are agreed upon, it will only be a matter of time until commercial MAS development toolkits emerge, and agent technology becomes accessible to a wide variety of software developers.

Design of a MAS Architecture:

The Collaborative Agents Group3, at the University of Calgary has adopted notions from the models described in the preceding sections to define dynamic collaborative multi-agent systems architecture. The architecture models open environments composed of logically distributed areas where agents exist.

 

Simply described, MAS is an environment consisting of areas. Areas are required to have exactly one local area coordinator, which is an agent that acts as a facilitator for other agents within its area. Agents can be identified as being inside an area if they have registered with the area's local area coordinator. Agents will use the services of local area coordinators to access other agents in the system. Agents can advertise services and find out about other agents' services by means of yellow page servers. Agents requiring data sharing with other agents can join virtual environments called cooperation domains, which are supported by cooperation domain server agents.

 

II.���������� OVERVIEW OF ONLINE TRADING APPLICATION:

After the detailed discussion of the Multi Agent Systems and its architecture in this section we discuss its relevance to the present problem in hand and how to build the online trading application using the multi agent system environment. The overview of the application is as follows:

There are 3 participants that take part in buying and selling of fruits. Those participants are:

OrchardBot: The representative of an orchard that is attempting to sell some of its produce.

SupplyBot: A representative of several fruit producers that begins with a small stock and has certain budget to fund purchases.

ShopBot: A representative of a supermarket chain.� It has existing stock and certain budget to purchase additional stock.

All the above agents have some minimum profit margin

Agent Name Server: This maintains a registry of known agents and their actual network locations..

Broker:� It maintains a registry of agents and the services they are known to offer. On start-up a broker will obtain the list of active agents from a name server, and then collect service information by periodically polling each one.

 

Assumptions:

1.                The market is open i.e. Agents can join or leave at any time, and agents are not initially aware of their counterparts.

2.                All transactions are conducted in same standard currency.

3.                For simplicity, only certain types of fruit will be traded and each type of fruit is a commodity, traded in uniform size boxes.

 

iii����������� IMPLEMENTATION OF MULTI AGENT TRADING DOMAIN

As mentioned earlier the trading in the fruit market follows that of a distributed marketplace. Trading occurs directly between buyers and sellers using a protocol agreed between the parties concerned.� It is assumed that agents may be buyers and sellers simultaneously. In dynamic marketplaces, at least one agent plays the role of a broker.� The broker maintains an up-to-date registry of prospective buyers and sellers, providing an efficient means for agents to locate appropriate transaction partners. Also, this role model does not assume the presence of a trusted third party that mediates transactions and transfers ownership of the traded goods.

 

Fig.1��������� The roles present in a typical distributed marketplace application.�������������������������������

Interaction Summary:

 

Collaboration���

Explanation

1

Registration

Sellers register or de-register their items for sale

2

Find Request

Asks for agents selling items of interest

3

Find Response

A list of agents matching the desired criteria

4

Buyer Offer

Message containing buyer's proposal

5

Seller Response

Seller's reply to a previously submitted offer

 

Marketplace Visualiser

Often a marketplace has a means of visualising transactions, where the Visualiser is the observer and the other agents play the role of Subjects.

 

Fig.2 Visualiser Summary

 

Interaction Summary:

 

Collaboration

Explanation

1

Inform Request

Subjects are asked to forward activity reports

2

Activity Notification

Activity reports are dispatched

 

Bidding and Negotiation:

In the Fruit Market application sellers have to determine their replies to incoming bids using the Linear Initiator Evaluator strategy, whilst Linear Respondent Evaluator is used by potential purchasers to formulate their bids.

 

IV. ONLINE TRADING APPLICATION ANALYSIS :

To implement the online trading application for the fruit market several agents have been building with various jobs and responsibilities to act, react and interact and pro act based on the need of the situation.

 

Roles of Agent:

The Distributed Marketplace role model shows each Trader can play Inquirer and Registrant roles relative to a Broker.

 

Agent

Roles Played

OrchardBot

Trader (Buyer, Seller, Inquirer, Registrant)

SupplyBot

Trader (Buyer, Seller, Inquirer, Registrant)

ShopBot

Trader (Buyer, Seller, Inquirer, Registrant)

Broker

Broker (Facilitator)

Visual

Visualiser

ANS

Agent Name Server

 

Agent Responsibilities:

Each role played by an agent entails some responsibilities. The responsibilities involved can be categorized as social or domain responsibilities, the former involving interaction with other agents, and the latter involving some local application-specific activity; this results in the following:

 

 

TRADER - Social Responsibilities

Origin

Responsibility

Seller-Registrant

To register and de-register presence in marketplace

Buyer-Inquirer

To request information on known sellers

Buyer

To send bids to potential vendors

Seller

To receive and respond to bids

TRADER � Domain Responsibilities

Origin

Responsibility

Buyer

To facilitate the entry of user transactions

Buyer

To interpret vendor responses

Buyer, Seller

To exchange payment and ownership

Seller

To facilitate user selling preferences

Seller

To interpret bids

BROKER - Social Responsibilities

Origin

Responsibility

Broker

To receive notifications from participants

Broker

To respond to queries on market participants

BROKER � Domain Responsibilities

Broker

To store information on market participants

VISUALISER � Responsibilities

To visually depict aspects of the agent society

To request activity reports

To receive and interpret activity reports

NAME SERVER � Responsibilities

To maintain directory of agents and their locations

To receive and process registration messages

To provide network locations of named agents

To provide the list of known agents

Prerequisites: Social protocols for receiving registrations and queries, and notifying results

NAME REGISTRANT - Responsibilities

To register its presence on start-up

Prerequisites: Social Protocols to enable registration

NAME INQUIRER � Responsibilities

To request location of a named agent

Prerequisites: Social protocols for sending queries and receiving results

 

V.��� knowledge modeling:

The overall agent based trading architecture that has been built for the online trading application is shown below :

It consists of five layers. From the bottom up, these layers are:

        an interface layer, which enables the agent to be linked to the external programs that provide it with

        ��resources and/or implement its competencies

        a definition layer, where the agent is viewed as an autonomous reasoning entity

        an organisation layer, where the agent is viewed in terms of its relationships with other agents

        a co-ordination layer, where the agent is viewed as a social entity that interacts according to its known protocols and strategies

        a communication layer, which implements the protocols and mechanisms that support inter-agent communication

 

Fig.3������ Agent based trading Architecture

 

VI.        APPLICATION REALISATION:

The next stage is to realize the application using the available tools provided by the MAS toolkit. The realisation process combines the steps necessary to create a generic MAS agent with the steps necessary to implement the role-specific solutions identified during the previous phase.

The realisation process consists of the following activities:

1)  Ontology Creation

2)  Agent Creation, for each task agent this consists of:

                Agent Definition

                Task Description

                Agent Organisation

                Agent Co-ordination

3)  Utility Agent Configuration

4)  Task Agent Configuration

5)  Agent Implementation

The purpose of these stages is to translate the design we have derived from the role models into agent descriptions that can be created by the MAS toolkit. All the agents have been created in the MAS platform and simulated. Thus the application for the agent based trading architecture required for the online trading of fruits has been developed.

��

Fig.4��������� Snapshots of the developed Multi Agent System for online trading application

 

VII.����� CONCLUSIONS:

A well defined multi agent system has been developed using the agent oriented trading architecture for the online trading of the fruits in the market and thus supporting electronic commerce. The system easily handles negotiations required with multiple offers and bids. The system has been tested for several very close situations of bids and its accuracy in getting the best profitable negotiation has been very high. The paper is a development of a MAS architecture for online trading with a strong implementation of the fruit market application. As can be understood by the scope of MAS, there is no limitation to its application and the architecture can be used for any trading application. The only requirement being the proper formulation of the agents in any agent communication language or a MAS toolkit with suitable roles and responsibilities of the agents properly defined. Such applications very much simplify the complex process of online trading. The authors aim to develop many other applications suitable to the online trading architecture and also are working towards building different MAS architectures for other applications.

 
REFERENCES:

1.       Gasser, L. Foreword. In: Readings in Agents, Huhns, M.N. and Singh, M.P. (Eds.), San Francisco, Calif., Morgan Kaufmann Publishers, 1998, pages v-vi.

2.       Brooks, R. A. Intelligence Without Reason. Massachusetts Institute of Technology, Artificial Intelligence Laboratory, A.I. Memo Number 1293, April, 1991.

3.       CAG Collaborative Agents Group. 1998. Web site: http://sern.ucalgary.ca/cag/  (publications forthcoming)

4.       Cohen, P.R., Cheyer, A., Wang, M., and Baeg, S.C. An open agent architecture. In: Proceedings of the AAAI Spring Symposium. 1994.

5.       Decker, K., Sycara, K. and Williamson, M. Middle-Agents for the Internet. In: Proceedings of the International Joint Conferences on Artificial Intelligence (IJCAI-97), January, 1997.

6.       Decker, K., Williamson, M. and Sycara, K. Matchmaking and Brokering. In: Proceedings of the Second International Conference on Multi-Agent Systems (ICMAS-96), December, 1996.

7.       Dennett, D.C. The Intentional Stance. MIT Press, Cambridge, Mass. 1987.

8.       Durfee, E.H. What Your Computer Really Needs to Know, You Learned in Kindergarten. In: Proceedings of the Tenth National Conference on Artificial Intelligence, July 1992, pages 858-864.

9.       Huhns, M.N. and Singh, M.P. Agents and Multi-agent Systems: Themes, Approaches, and Challenges. In: Readings in Agents, Huhns, M.N. and Singh, M.P. (Eds.), San Francisco, Calif., Morgan Kaufmann Publishers, 1998, pages 1-23.

10.     Bradshaw, J.M. An Introduction to Software Agents. In: Software Agents, J.M. Bradshaw (Ed.), Menlo Park, Calif., AAAI Press, 1997, pages 3-46.

11.     Jennings, N.R. and Wooldridge, M. Intelligent Agents: Theory and Practice. In: The Knowledge Engineering Review, 1995, Volume 10, Number 2, pages 115-152.

12.     Mamdani, A. The Social Impact of Software Agents. In: Proceedings of the Workshop on The Impact of Agents on Communications and Ethics: What do and don't we know?, Program presentation, Foundation for Intelligent Physical Agents, Dublin, July15, 1998.

13.     ObjectSpace Voyager 2.0,User Guide.1998.Web page: http://www.objectspace.com/developers/voyager/

14.     Finin, T., Labrou, Y. and Mayfield, J. KQML as an Agent Communication Language. In: Software Agents, J.M. Bradshaw (Ed.), Menlo Park, Calif., AAAI Press, 1997, pages 291-316.

15.     General Magic Odyssey. 1998. Web site: http://www.genmagic.com/technology/odyssey.html

16.     Durfee, E.H., Lesser, V.R. and Corkill, D.D. Trends in Cooperative Distributed Problem Solving. In: IEEE Transactions on Knowledge and Data Engineering, March 1989, KDE-1(1), pages 63-83.

17.     Genesereth, M. An Agent-based Framework for Interoperability. In: Software Agents, J.M. Bradshaw (Ed.), Menlo Park, Calif., AAAI Press, 1997, pages 317-345.

18.     Genesereth, M. and Fikes, R. Knowledge Interchange Format, Version 3.0 Reference Manual, Technical Report, Computer Science Department, Stanford University, USA., 1992.

19.     Ginsberg, M. The Knowledge Interchange Format: The KIF of Death. In: AAAI Magazine, Fall 1991, Volume 12, Issue 3, pages 57-63.

20.     Gruber, T.R. A Translation Approach to Portable Ontology Specifications. In: Proceedings of the Knowledge Acquisition for Knowledge-Based Systems (KAW'93), Gaines, B.R. and Musen, M. (Eds.), Banff, Canada, 1993, pages 199-220.

21.     IBM Aglets. 1998. Web page: http://www.trl.ibm.co.jp/aglets/

22.     Peng, Y., Finin, T., Labrou, Y., Chu, B., Long, J., Tolone, W.J. and Boughannam, A. A Multi-Agent System for Enterprise Integration. In: Proceedings of the Third International Conference and Exhibition on the Practical Application of Intelligent Agents and Multi-Agent Technology, H.S. Nwana and D.T. Ndumu (Eds.), London, UK, March, 1998, pages 155-169.

 

 

 

Received on 08.11.2010������� Accepted on 26.11.2010��������

�A&V Publications all right reserved

Research J. Engineering and Tech. 2(1): Jan.-Mar. 2011 page 05-09