Simulation of a trading multi-agent system P. Mariano, A. Pereira, L. Correia, R. Ribeiro, V. Abramov, N. Szirbik, J.Goossenaerts, T. Marwala, P. De Wilde Abstract—In a trading scenario agents interact with each other, selling and buying resources. In order to control the behavior of the trading scenario, the interactions must be coordinated. We present a brief discussion of communication types and coordination models applicable in multi-agent systems. We find a programmable tuple space more appropriate to manage and rule the interactions be- tween the trading agents. We discuss the advantages of a trading agent model that deals with the trading strategy, concentrating on what to buy or sell. This relieves the agent from the task of coordi- nating the negotiations and their revoking or acceptances. This is the task of the programmable tuple space. Keywords—Programmable tuple space, coordination, communi- cation. I. I NTRODUCTION In a trading framework agents must interact with each other, selling and buying resources. Trading agents should sell for the higher proposal and vice-versa for buy- ing. Each negotiation consists of a sequence of interac- tions. These interactions must be regulated [4] or else the trading framework might collapse. In order to control the behavior of the trading scenario, we discuss some coor- dination models that can be appropriate to this scenario. Another important aspect of the framework is commu- nication between agents. It may influence the potential trading partners. The rest of this article is organized as follows: sec- tion II introduces some aspects of communication; sec- tion III presents some coordination models that are rele- vant to the trading framework; then we describe the trad- ing framework in section IV; we describe the simulations of the trading framework performed in section V and the results obtained are shown in section VI; the conclusions are presented in section VII; finally in section VIII we point some future directions to our work. II. COMMUNICATION IN MAS Agents need some way to exchange information. This is done through communication. Here we are only inter- P. Mariano, A. Pereira, L. Correia and R. Ribeiro are with the Department of Informatics, New University of Lisbon, Por- tugal. E-mail: pedro.mariano, alfredo.pereira, luis.correia, rita.ribeiro @di.fct.unl.pt V. Abramov, N. Szirbik and J. Goossenaerts are with the Infor- mation & Tecnhology Department, Eindhoven University of Technol- ogy, The Netherlands. E-mail: v.a.abramov, n.b.szirbik, j.b.m.goossenaerts @tm.tue.nl T. Marwala and P. De Wilde are with the Electrical and Electronic Engineering Department, Imperial College of Science, Technology and Medicine, England. E-mail: t.marwala, p.dewilde @ic.ac.uk ested in the communication type, which may affect coor- dination. Communication can be roughly divided in point-to- point and broadcast [24]. There are also communication types with features from these two broad classes, such as local broadcast (as used by social insects) and group com- munication. Next we present a brief summary of each type of communication. A. Point to point In point to point communication [24], an agent needs the address (such as mail address, IP address, identifica- tion number) of its partners in order to engage in commu- nication with them. Depending on the case study it may turn out a difficult task to know the updated address (field robots [11], mobile agents [6]). An agent may change location, an agent’s address may have a time limit (the agent advertises its current address periodically), and an obstacle may preclude direct communication (an interme- diate network node is down). In the work reported in [11] the agents merely observe each other in order to assess if they have achieved the global goal. Point-to-point communication requires that an agent knows, before hand, what are the capabilities of the re- ceiver. Either the capabilities are fixed and known at start- ing time, or there is some repository or there is some an- nouncement protocol. The last two methods allow new agents into the multi-agent system. Possible solutions are facilitators [8], where agents record their services and needs. An agent may search the facilitator in order to fulfill its needs. This communication type is useful if the entities of the problem being tackled are organized in a hierarchy. We can structure a multi-agent system according to this prob- lem property, assigning to each agent a well defined role and address. Since the agent location is known, commu- nication is easier. If an agent (subordinate) lacks some- thing, an agent that is just above it in the hierarchy chain is responsible to solve the problem. As we go up in the hi- erarchy we have more resources, we have a broader view of the multi-agent system, we know who is responsible to do certain tasks. Agents in the bottom are specialized in their tasks, but do not know very much of other tasks of the multi-agent system. B. Broadcast In broadcast communication the agent’s address is managed by the communication type. Therefore, agents 0-7803-77-2/01/$10.00 © 2001 IEEE 3378