Thursday, September 16, 2010

What is an Agent?

Visit the High Level Logic (HLL) Website
— Home of XPL (eXtensible Process Language)

It's like XML, but you can store source code in it.

This entry includes section 2.1 of A Methodology for the Analysis and Design of Multi-Agent Systems using JADE, by Magid Nikraz1a, Giovanni Caireb, and Parisa A. Bahria aSchool of Engineering Science and Parker Center, Murdoch University, Dixon Road, Rockingham, Western Australia 6168 bTelecom Italia Lab, Via Reiss Romoli, Turin, Italy 10148.

It is intended here as part of a larger discussion on the use of the agent approach in HLL. HLL is not simply another agent platform, so it is important to first note what agents actually are, to allow a clear discussion on the extension that HLL provides. Note that the HLL concept was first conceived in the mid-1980s as a way of unleashing the power of "expert systems." I don't believe I'd even heard of software agents back then. But it is cause to smile, that there is now a well recognized and developing technical approach underlying the HLL "extension." (More on this in future blog posts; I assure you.)

The paper being quoted discusses development methodology for agent systems using JADE as a concrete example. This is also a good topic related to application development using HLL - since developers will need to adapt their process, working more exclusively on their specialized application components, and opening up to the idea that sophisticated, interacting, "intelligent," distributed systems are not so difficult with the right tools; and that software component reuse is taking another big jump in practicality.

HLL is also good for smaller "smart" systems. But even then, the use of standards for communication and message structure facilitates interaction with other agent systems. To roughly quote a new-age adage, the Internet becomes The application.

2.1 What is an Agent?

The term agent is very broad and has different meanings to different people. However, on close observation of the literature, it is sufficient to say that two usages of the term agent can be identified: the weak notion of agency and the strong notion of agency [37]. The weak notion of agency constitutes the bare minimum that most researches agree on, while the stronger notion of agency is more controversial and a subject of active research.

The weak notion of agency denotes a software-based computer system with the following properties [37]:
  • Autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state.
  • Social ability: agents interact with other agents (and possibly humans) via some kind of agent communication language.
  • Reactivity: agents perceive their environment and respond in a timely fashion to changes occurring therein.
  • Pro-activeness: in addition to acting in response to their environment, agents are able to exhibit goal-directed behaviour by taking the initiative.
The strong notion of agency is an extension of the weaker notion, and advocates additional humanistic, mental properties such as belief, desire, and intention [29].

Consistent with the weak notion of agency, one author [13] has gone so far as to say that software agents are application programs that communicate with each other in an expressive agent communication language. Though at first this definition may seem a little simplistic, it allows one to clearly identify what constitutes a multi-agent system, i.e. agents are just pieces of autonomous code, able to communicate with each other using an agent communication language. The view of agents assumed in the proposed methodology is based on this definition. Specifically, the methodology assumes the following definition for an agent:
agents reside on a platform that, consistent with the presented vision, provides the agents with a proper mechanism to communicate by names, regardless of the complexity and nature of the underlying environment (i.e. operating systems, networks, etc).
Thus, the assumed view is exactly the same as that presented in [13], but in addition, the agents have unique names as a means of identification.

This particular view of agents is the only assumption for analysis, while the design is specific to the JADE platform, which is a FIPA-compliant realization of the above vision, i.e. in the design phase, the constructs provided by the JADE platform are assumed.

13. M. R. Genesereth and S. P. and Ketchpel, "Software Agents," Communication of the ACM, vol. 37(7), 1994.

29. Y. Shoham, “Agent Oriented Programming,” Artificial Intelligence, vol. 60(1), pp. 51-92, 1993.

37. M. Wooldridge and N. R. Jennings, “Intelligent agents: theory and practice,” The Knowledge Engineering Review, vol. 10(2), pp. 115-152, 1995.

No comments:

Post a Comment