[Top]

[Back]

[Next]

[Bottom]


6 Future Work


"Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and weighs 30 tons, computers in the future may have only 1,000 vacuum tubes and perhaps weigh 1½ tons" - Popular Mechanics, March 1949

6.1 Framework Implementation

The first step in developing a prototype is to build the framework for mobile agents to execute within. It is envisaged that this prototype framework will be implemented in two phases. The first phase will implement the core infrastructure of agents (mobility, communication, integration) and the second stage will deal with the aspects of distributed information management of both mobile and static agents.

6.1.1 Agent Framework Architecture

The framework described in chapter 5 was not designed around any one mobile agent implementation. This decision was made so that, theoretically, any of the mobile agent architectures described could be adopted and modified to support mobile agents for distributed information management.

For this reason, a choice needs to be made; whether to advocate the use of an existing mobile agent system (such as Agent TCL), or whether to develop a new mobility infrastructure from scratch. The arguments for reusing an existing system are persuasive, since the underlying migration and communication layers are already developed and available. However, the system that is chosen should exhibit the following characteristics:

The development of the framework from scratch also has a number of advantages: more control over the system and its implementation and the ability to tailor the framework closely to the problem being solved. However, it would a considerable task to develop a migration policy and determine a heterogeneous data format that would allow mobile agents to be migrated transparently.

Instead, it would make more sense to take advantage of existing technology in this area, namely Distributed Object Management (DOM). With such systems, an object (in this case an agent, its data and its knowledge-base) could be distributed automatically by a DOM sub-layer. Examples of such systems are DMeroon (Queinnec, 1995) and HORB for Java (Satoshi, 1996). They present an attractive alternative and would considerably ease the development of the framework from scratch.

6.1.2 Agent Programming Language

Once an architecture has been selected, then a programming language will need to be chosen to implement the framework. It is commonly accepted that interpreted languages, often referred to as scripting languages, represent the best implementation to achieving heterogeneity and enforcing validation principles. This helps to make the agents of the infrastructure portable and dynamic, and gives the system greater control over their execution. Languages that are compiled to the machine code of a specific system (for example, C) are difficult to make dynamic and portable to other platforms and languages that are interpreted direct from source code present a potential security risk.

The following is a brief summary of the current interpreted languages that hold the most promise for developing the agent framework:

It would appear then, that object-oriented languages which compile to a platform-independent byte code or an interpreted language hold the most promise for the future development of the framework implementation. However, although a very desirable language, Telescript is hampered by the fact that it cannot be used outside of the Telescript environment and it has no support for heterogeneous integration with user interface environments: an area where Java excels.

6.1.3 Agent Communication Language

It is important that all of the agents within the framework communicate in a single information representation and use a common communication mechanism (called an Agent Communication Language (ACL)). As has already been described in chapter 5, KQML (Finin et al., 1995) offers a standard communication language between agents and KIF (Genesereth et al., 1992) offers a standard information representation that agents can pass between themselves. This reduces the translators required to two types; resource agent to local information resource protocol (for example, KIF to WWW) and resource agent to user-readable format (for example, KIF to text).

Other ACLs that need to be investigated are:

Currently, the most promising ACL appears to be KQML, as it is developing as a standard and is also being adopted by a variety of agent development projects.

6.2 Distributed Information Management Agents

Once the initial framework is in place, then agents for distributed information management can be developed. These agents need to express some of the characteristics described in chapter 3 to ensure that they can fulfil their goals sensibly (intelligence), react to their environment (reactiveness), adapt to their environment (learning), take the initiative (autonomy and pro-activeness) and move closer to the distributed information resource (mobility). This will help to ensure that a trust relationship is developed with the user.

The knowledge-base of an agent will be written in a reusable knowledge format, such as KIF, and agents within the system will communicate through KQML performatives; this gives the added advantage that the framework will also be able to communicate with other KQML-based systems. It will be the task of the user interface agent and the resource agent to perform translations upon KIF information to convert it to and from the local protocol format; it will be the task of mobile agents to perform processing on information received from resource agents.

Agents, such as user interface agents, have the potential to be developed in a number of ways. Essentially, they could be implemented as an interface agent (chapter 3) which sits along side the user and `learns' from their actions; in this manner, the user interface agent can take the initiative and autonomously launch mobile agents of its own to perform functions that it thinks (hopes) will be of use to the user, dependent upon the actions that the user is performing or has performed or dependent upon changes in the user's environment (for example, the arrival of an email).

The user interface agent also has the potential to integrate with the user's desktop; this would give it the ability to coordinate its activities with other, non-distributed information resources that are available on the local network, for example, email, network news, etc. Moreover, the user interface agent could be written to integrate with a series of desktop applications (through interchangeable modules), for example Eudora, Netscape, Elm, etc.

Mobile agents for resource discovery can develop on the ideas that exist for current discovery mechanisms; mobile agents for navigation assistance can develop upon the ideas expressed by Wilkins (Wilkins, 1994); mobile agents for system integration can take the integration ideas expressed by Davis et al. (Davis et al., 1994) for integrating the Microcosm open hypermedia system into the desktop. However, mobile agents for information integrity will require more research, since information management in distributed information systems and on a global scale is limited at present.




[Top]

[Back]

[Next]

[Bottom]


EMail: jd94r@ecs.soton.ac.uk
WWW: http://www.ecs.soton.ac.uk/~jd94r
Copyright © 1996, University of Southampton. All rights reserved.