Abstract
This work describes a new approach for writing multi-agent systems considering the use of the Erlang programming language. An analysis of the features of this language is provided, which shows that Erlang characteristics allow a programmer to easily model and implement agent systems. Then, a new agent programming platform, called eXAT—erlang eXperimental Agent Tool—will be described. This platform has been designed by the authors to support agent development and deploying with Erlang; the aim is to provide an all-in-one environment, allowing an agent designer to program agent intelligence, agent behavior and agent communication with a single language.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
http://fipa-os.sourceforge.net/. FIPA-OS Web Site., 2003.
http://herzberg.ca.sandia.gov/jess/. JESS Web Site, 2003.
http://www.ghg.net/clips/CLIPS.html. CLIPS Web Site, 2003.
http://www.agentlink.org/resources/agent-software.php, 2004.
http://www.diit.unict.it/users/csanto/eres.html. ERES Web Site, 2004.
http://www.diit.unict.it/users/csanto/exat/. eXAT Web Site, 2004.
http://www.drools.org. Drools Home Page, 2004.
http://www.erlang.org. Erlang Language Home Page, 2004.
http://www-2.cs.cmu.edu/~softagents/, 2004.
http://www.agent-software.com, 2004.
C. Agha and C. Hewitt. Concurrent Programming using Actors. MIT Press, 1987.
J. L. Armstrong. The development of Erlang. In ACM Press, editor, Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196–203, 1997.
J. L. Armstrong. Making Reliable Distributed Systems in the Presence of Software Errors. PhD Thesis, Swedish Institute of Computer Science, Stockholm, Sweden, 2003.
J. L. Armstrong, M. C. Williams, C. Wikstrom, and S. C. Virding. Concurrent Programming in Erlang, 2nd Edition. Prentice-Hall, 1995.
Joe Armstrong and Robert Virding. Erlang-An Experimental Telephony Programming Language. In XIII International Switching Symposium, May 27–June 1, Stockholm, 1990.
F. Bellifemine, A. Poggi, and G. Rimassa. Developing multi-agent systems with a FIPA-compliant agent framework. Software: Practice and Experience, 31(2):103–128, 2001.
Federico Bergenti. Formalizing the Reusability of Agents. In Andrea Omicini, Paolo Petta and Jeremy Pitt, editor, 4thInternational Workshop Engineering Societies in the Agents World (ESAW 2003). Springer, 2003.
Federico Bergenti and Agostino Poggi. A Development Toolkit to Realize Autonomous and Inter-operable Agents. In 5thInternational Conference on Autonomous Agents (Agents 2001), Montreal, Canada, 2001.
G. Cabri, L. Leonardi, and F. Zambonelli. Mobile-Agent Coordination Models for Internet Applications. IEEE Computer, 33(2), February 2000.
N. Carriero and D. Gelernter. Linda in Context. Comm. ACM, 32(4), April 1989.
J. Chang-Hyun and K. M. Geroge. Agent-based Programming Language: APL. In 2002 ACM Symposium on Applied Computing, Madrid, Spain, 2002.
P. Ciancarini, R. Tolksdorf, F. Vitali, D. Rossi, and A. Knoche. Coordinating Multiagent Applications on the WWW: A Reference Architecture. IEEE Transaction on Software Engineering, 24(5), 1998.
Keith Clark and Steve Gregory. PARLOG: Parallel Programming in Logic. ACM Transactions on Programming Languages and Systems, 8(1):1–49, January 1986.
Philip R. Cohen, Adam Cheyer, Michele Wang, and Soon Cheol. Baeg. An Open Agent Architecture. In Micheal N. Huhns & Munindar P. Singh, editor, Readings in Agents, pages 197–204, 1997.
M. Cremonini, A. Omicini, and F. Zambonelli. Coordination and access control in open distributed agent systems: The TuCSoN approach. In António Porto and Gruia-Catalin Roman, editors, Coordination Languages and Models, volume 1906 of LNCS, pages 99–114. Springer-Verlag, 2000.
M. Dastani, J. van der Ham, and F. Dignum. Communication for Goal Directed Agents. In Marc-Philippe Huget, editor, Communication in Multiagent Systems-Agent Communication Languages and Conversation Policies, pages 239–252. LNCS, 2003.
W. H. E. Davies and P. Edwards. Agent-K: an Integration of AOP and KQML. In Y. Labrou and T. Finin, editors, CIKM’94 Workshop on Intelligent Information Agents, Anaheim, CA, 1994.
Antonella Di Stefano and Corrado Santoro. eXAT: an Experimental Tool for Programming Multi-Agent Systems in Erlang. In AI*IA/TABOO Joint Workshop on Objects and Agents (WOA 2003), Villasimius, CA, Italy, 10–11 September 2003.
Antonella Di Stefano and Corrado Santoro. eXAT: A Platform to Develop Erlang Agents. In Agent Exhibition Workshop at Net.ObjectDays 2004, Erfurt, Germany, 27–30 September 2004.
Antonella Di Stefano and Corrado Santoro. Designing Collaborative Agents with eXAT. In ACEC 2004 Workshop at WETICE 2004, Modena, Italy, 14–16 June 2004.
Antonella Di Stefano and Corrado Santoro. On the Use of Erlang as a Promising Language to Develop Agent Systems. In AI*IA/TABOO Joint Workshop on Objects and Agents (WOA 2004), Turin, Italy, 29–30 October 2004.
T. Finin and Y. Labour. A Proposal for a New KQML Specification. Technical Report TR-CS-97-03, Computer Science and Electrical Engineering Dept., Univ. of Maryland., 1997.
C.L. Forgy. Rete: a fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence, pages 17–37, 1982.
Foundation for Intelligent Physical Agents. FIPA ACL Message Representation in Bit-Efficient Encoding Specification —No. SC00069G, 2002.
Foundation for Intelligent Physical Agents. FIPA ACL Message Representation in XML Specification–No. SC00071E, 2002.
Foundation for Intelligent Physical Agents. FIPA Agent Message Transport Protocol for HTTP Specification–No. SC00084F, 2002.
Foundation for Intelligent Physical Agents. FIPA Agent Message Transport Protocol for IIOP Specification–No. SC00075G, 2002.
Foundation for Intelligent Physical Agents. FIPA Communicative Act Library Specification–No. SC00037J, 2002.
Foundation for Intelligent Physical Agents. FIPA Contract Net Interaction Protocol Specification–No. SC00029H, 2002.
Foundation for Intelligent Physical Agents. FIPA English Auction Interaction Protocol Specification–No. SC00031F, 2002.
Foundation for Intelligent Physical Agents. FIPA Request Interaction Protocol Specification–No. SC00026H, 2002.
Foundation for Intelligent Physical Agents. FIPA SL Content Language Specification–No. SC00008I, 2002.
Foundation for Intelligent Physical Agents. http://www.fipa.org, 2002.
Stan Franklin and Art Graesser. Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. In Third International Workshop on Agent Theories, Architectures, and Languages (ATAL). Springer-Verlag, 1996.
K.V. Hindriks, F.S. de Boer, W. van der Hoek, and J.-J.Ch. Meyer. Agent programming in 3APL. Autonomous Agents and Multi-Agent Systems, 2(4):357–401, 1999.
C.A.R. Hoare. Communicating Sequential Processes. Prentice Hall International, 1985.
Sonya E. Keene. Object-Oriented Programming in Common Lisp. Addison-Wesley, 1989.
Frank McCabe and Keith Clark. April: Agent Process Interaction Language. In N. Jennings and M. Wooldridge, editor, Intelligent Agents. Springer, LNCS 890, 1995.
Frank McCabe and Keith Clark. Go!-A Multi-Paradigm Programming Language for Implementing Multi-Threaded Agents. Annals of Mathematics and Artificial Intelligence, 41(2–4):171–206, August 2004.
Mickaël Rémond. Erlang-Programmation. Eyrolles, 2003.
R. Milner. Communication and Concurrency. Prentice Hall International, 1989.
R. Milner. Communicating and Mobile Systems: the Pi-Calculus. Cambridge Univ Press, 1999.
Andrea Omicini, Alessandro Ricci, Mirko Viroli, Marco Cioffi, and Giovanni Rimassa. Multi-agent infrastructures for objective and subjective coordination. Applied Artificial Intelligence, 18(9/10):815–831, October/December 2004.
G. P. Picco, A. Murphy, and Roman G.-C. LIME: Linda Meets Mobility. In D. Garlan and Los Angeles (USA) J. Kramer, eds., editors, 21th Intl. Conference on Software Engineering (ICSE’ 99), May 1999.
A. Pokahr, L. Braubach, and W. Lamersdorf. Jadex: Implementing a BDIInfrastructure for JADE Agents. Telecom Italia Journal: EXP-In Search of Innovation (Special Issue on JADE), 3(3), Sept. 2003.
A. S. Rao. AgentSpeak(L): BDI agents speak out in a logical computable language. In Agents Breaking Away, pages 42–55. Springer-Verlag, LNAI 1038, 1996.
A. S. Rao and M. P. Georgeff. Modeling Rational Agents within a BDI-Architecture. In R. Fikes J. Allen and E. Sandewall, editors, 2ndInternational Conference on Principles of Knowledge Representation and Reasoning (KR’91). Morgan Kauffman, 1991.
Corrado Santoro. eXAT: an Experimental Tool to Develop Multi-Agent Systems in Erlang-A Reference Manual. Available at http://www.diit.unict.it/users/csanto/exat/, 2004.
Y. Shoham. AGENT-0: A Simple Agent Language and its Interpreter. In 9thNational Conference of Artificial Intelligence, Anaheim, CA, 1991. MIT Press.
K. Sycara, M. Paolucci, M. van Velsen, and J. Giampapa. The RETSINA MAS Infrastructure. Special joint issue of Autonomous Agents and Multi-Agent Systems Journal, 7(1 and 2), July 2003.
S. R. Thomas. The PLACA Agent Programing Language. In N. Jennings and M. Wooldridge, editor, Intelligent Agents. Springer, LNCS 890, 1995.
Carlos Varela, Carlos Abalde, Laura Castro, and José Gulias. On Modelling Agent Systems with Erlang. In 3rdACM SIGPLAN Erlang Workshop, Snowbird, Utah, USA, 22 September 2004.
M. Wooldridge, N. Jennings, and D. Kinny. The Gaia Methodology for Agent-Oriented Analysis and Design. Journal of Autonomous Agents and Multi-Agent Systems, 3(3), 2000.
M. J. Wooldridge. Multiagent Systems. G. Weiss, editor. The MIT Press, April 1999.
F. Zambonelli, N.R. Jennings, A. Omicini, and M.J. Wooldridge. Agent-oriented software engineering for Internet applications. In A. Omicini, F. Zambonelli, M. Klusch, and R. Tolksdorf, editors, Coordination of Internet Agents: Models, Technologies, and Applications, chapter 13, pages 326–346. Springer-Verlag, March 2001.
Franco Zambonelli, Nicholas R. Jennings, and Michael Wooldridge. Developing multiagent systems: The gaia methodology. ACM Trans. Softw. Eng. Methodol., 12(3):317–370, 2003.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Birkhäuser Verlag
About this paper
Cite this paper
Di Stefano, A., Santoro, C. (2005). Supporting Agent Development in Erlang through the eXAT Platform. In: Unland, R., Calisti, M., Klusch, M. (eds) Software Agent-Based Applications, Platforms and Development Kits. Whitestein Series in Software Agent Technologies. Birkhäuser Basel. https://doi.org/10.1007/3-7643-7348-2_3
Download citation
DOI: https://doi.org/10.1007/3-7643-7348-2_3
Publisher Name: Birkhäuser Basel
Print ISBN: 978-3-7643-7347-4
Online ISBN: 978-3-7643-7348-1
eBook Packages: Computer ScienceComputer Science (R0)