Log on:
Powered by Elgg

Christopher Malek :: Blog :: Web services based multi-agent systems

June 28, 2007

Web services based multi-agent systems
  • Currently /5

Avg rating: - - based on 0 ratings

5 Stars 0
4 Stars 0
3 Stars 0
2 Stars 0
1 Star 0
   * Includes your rating
--(Log in to rate this blog post!)--

Summary of:

Harris, C; "Building self-modifying multi-agent and P2P networks using WSDL and soap", Integration of Knowledge Intensive Multi-Agent Systems, 2005. International Conference on, (2005) pp. 71-75.

Summary

The author proposes building a distributed, evolutionary multi-agent system in which the middleware is web services. He then describes a system that he built which fulfills this. Each agent acts as a SOAP node in a peer to peer network, and can dynamically export its functionality via WSDL. Other inter-agent communication protocols may be used simultaneously. Using web services as middleware grants easy interoperability for agents of heterogeneous implementations and platforms, and allows agents to be incorporated into existing web service architectures.

A web service agent differs from a web service in that it "has the ability to receive or invent new computational capacities at run-time and automatically make them available to the Internet as Web services" (p. 77). Each agent uses a code-to-WSDL translator to translate new code to WSDL descriptions, writes its WSDL descriptions as files, and exports via an internal HTTP server. Agents can thus access each other's WSDL descriptions, parse them, and exchange the appropriate SOAP messages. An agent's WSDL description can change dynamically.

The agents that the paper describe are evolutionary in that there is functionality which applies "an appropriate transformation to the instantiated code in order to make it more suitable for the given task" (p. 79). Agents are expected to be able to modify their functionality, either in response to external inputs or commands, or via self-reflective learning or training. This may be accomplished via genetic programming, "a neural network, a rational algorithm, or an expert system-guided process" (p. 79).

The evolutionary multi-agent system that the author implemented consisted of agents written in Python. Agents used either a genetic programming algorithm or neural network to evolve their algorithms. They also accessed external WSDL services to do some of their work.

Issues

Genetic programming and training neural networks can be hard problems. In order for genetic programming to work, one must be able to generate programs, compare them and rank them somehow: we need to know the appropriate fitness criteria to apply for any given problem. As the author says "knowing beforehand exactly what evolutionary criteria to apply to a genetic programming system or what expert rules need to be fed to an expert system in order to locate a satisfactory goal state can often times be more difficult than simply hand-coding the solution" (p. 79).

Critique

The paper does not discuss how agents in such a peer to peer network are notified when an agent updates, adds or removes an interface, and the corresponding WSDL description.

Harris' definition of web services as client-server differs substantially from Erl's. Harris says: "current commercial software packages for working with WSDL and SOAP are typically constructed to satisfy a strict client-server model, usually occurring in a B2B or B2C context in which a single service is written and maintained by human developers" (p. 77), while Erl says "Web services do not fit into the classic client-server model" [1, p. 50].  

References

  1. Erl, Thomas; Service-Oriented Architecture : Concepts, Technology, and Design, Prentice Hall PTR: None (2005).

Posted by Christopher Malek

You must be logged in to post a comment.