Examensarbete

Searching and filtering with mobile agents

Contents

 Overview

 Links

 Plan

 Workbook

 Questions

 Contact

Abstract

 Mobile Agents :

agents

Mobile Agents are autonomous, intelligent programs that move through a network, searching for and interacting with services on the user's behalf. These systems use specialised servers to interpret the agent's behaviour and communicate with other servers. A Mobile Agent has inherent navigational autonomy and can ask to be sent to some other nodes. Mobile Agents should be able to execute on every machine in a network and the agent code should not have to be installed on every machine the agent could visit. Therefore Mobile Agents use mobile code systems like Java and the Java virtual machine where classes can be loaded at runtime over the network.

 There are many applications for which mobile agents are claimed to be well suited. Most of these applications tend to involve searching for information on behalf of a user and possibly performing some kind of transaction when appropriate information is encountered.

Agencies/AgentHosts

Agencies are characterized by their capabilities and the type of interactions they can have with agents and other agencies. A primary capability of an agency is to be the execution engine for agents.

 The important capabilities of agencies with respect to supporting

agent technology are:

 support for simultaneous and concurrent execution of many agents

support for security

 integration with system services such as data exchange

 support for allowing agents to carry their state with them

as they move, and

 support externalization and serialization of state information

in a way that can be understood by agencies.

 

 

KQML:

Knowledge Query and Manipulation Language (KQML), a language and protocol for exchanging information and knowledge. KQML is both a message format and a message handling protocol to support run-time sharing knowledge among agents. It can be used for an application program to interact with an intelligent system or as a language between intelligent systems.

It is a language that is designed to support interactions among intelligent software agents.

 Communication takes place on several levels. The content of the message is only a part of the communication. Being able to locate and engage the attention of someone you want to communicate with is a part of the process. Packaging your message in a way which makes your purpose in communicating clear is another.

 When using KQML, a software agent transmits content messages, composed in a language of its own choice, wrapped inside of a KQML message. The content message can be expressed in any representation language and written in either ASCII strings or one of many binary notations (e.g. network independent XDR representations). All KQML implementations ignore the content portion of the message except to the extent that they need to recognise where it begins and ends.

 The syntax of KQML is based on a balanced parenthesis list. The forms of these parts of the KQML message may vary, depending on the transport mechanism used to carry the KQML messages. In implementations, which use TCP streams as the transport mechanism, they appear as fields in the body of the message.

 The set of performatives forms the core of the language. It determines the kinds of interactions one can have with a KQML-speaking agent. The primary function of the performatives is to identify the protocol to be used to deliver the message and to supply a speech act, which the sender attaches to the content. The preformatted signifies that the content is an assertion, a query, a command, or any other mutually agreed upon speech act. It also describes how the sender would like any reply to be delivered, that is, what protocol will be followed.

 

Conceptually, a KQML message consists of a performative, its associated arguments which include the real content of the message, and a set of optional arguments transport which describe the content and perhaps the sender and receiver. For example, a message representing a query about the price of a share of IBM stock might be encoded as:

 (Ask-one

: content (PRICE IBM ?price)

:receiver stock-server

:language LPROLOG

:ontology NYSE-TICKS)

 

In this message, the KQML performative is ask-one, the content is (price ibm ?price), the ontology assumed by the query is identified by the token nyse-ticks, the receiver of the message is to be a server identified as stock-server and the query is written in a language called LPROLOG.

 

 

 

XML:

 XML Extensible Markup originating from SGML. XML is an Internet empowered syntax providing standards to describe information. XML has separate facilities for the management of content description, presentation and access.

XML provides a facility to define tags and the structural relationships between them. Since there's no predefined tag set, there can't be any preconceived semantics. All of the semantics of an XML document will either be defined by the applications that process them or by stylesheets.

XML was created so that richly structured document could be used over the web. The only viable alternatives, HTML and SGML, are not practical for this purpose. HTML comes bound with a set of semantics and does not provide arbitrary structure. SGML provides arbitrary structure, but is too difficult to implement just for a web browser.

 

By using a standard for accessing components of an XML document and adding style information to XML documents. XML documents and their included objects can be viewed, searched, catalogued and routed.

XML/EDI( Electronic Data Interchange) framework provides an automatic exchange of administrative documents between computers.

 

XML is a language where you can make your own tags. Instead of having tags on how something should look like it have tags on what it is. This

 

 

OBI

Open Buying on the Internet (OBI) is not a software package, technology or a third-party vendor. OBI is a standard by which organisations can conduct business-to-business purchasing transactions over the Internet. It may be used in software packages, utilised with technology, or adopted by third-party vendors, but in and of itself, it is architecture.

The standards address security, cataloguing, user login, transaction type, and transaction format issues.

OBI is intended for high-volume low dollar transactions, it is concerned

Specially with business -to -business trading partners that are characterised as:

Frequent or repetitive purchases.

High volume , low-dollar transactions with a small number of selling organisations.

Typically paid out overhead.

 

Java

RMI

To the contents

Links

Software agents:

 http://www.javaworld.com/javaworld/jw-09-1998/jw-09-howto.html

 http://www.sunworld.com/swol-10-1996/swol-10-agent.html

 http://www.javaworld.com/javaworld/jw-10-1998/jw-10-howto.html

 http://www.cs.umbc.edu/agentnews/current/

 http://www.trl.ibm.co.jp/aglets/atp/atp.htm

 http://www.cis.ohio-state.edu/~dliang/CIS788.U11/

 

 

XML:

 http://www.w3.org/TR/REC-xml#sec-origin-goals 

 http://www.xml.com/xml/pub/98/10/guide1.html

OBI:

 http://www.openbuy.org/obi/specs/

 

KQML

 

 

 

To the contents

Plan

June

Get an overview about mobile agents, searching and filtering on the Internet, standards

July

Study about mobile agents, searching and filtering on the Internet, standards

August

Analyse and design

September

Implementation

October

Test

November

Presentation

 

To the contents

Workbook

Date

 Overview

 Time

 

15/6-99

Made the homepage and found a couple interesting links about mobile agents.

A mobile agent is composed of two different pieces. The code and the current state.

Problems with security.

5 h

 

16/6-99

NetAgent- a format for message passing Agent Access Format(AAF)

Agents can think too! A rule based expert system Jess the Java expert system shell.

The Mool cookbook : No common references . RPC for public methods. Problems with threads and processor time in Java. Weak migration.

Read about XML/EDI

 7h

 

 17/6-99

 KQML -agent communication language

OBI - business to business protocol

Aglets workbench - a way of building agents IBM

 7h

 

19/6-99 

 Java/prolog

Hosting agents - a business

 3h

 

20/6-99 

 Java and JDBC

ANS -agent name server

Some more XML

JaTLITE - Java agent class

 4h

 

21/6-99 

 Look for a book to buy -

Read more about KQML

 4h

 

 22/6-99

Read more about OBI doesn't look like OBI is right for this project. It is more for repetitive high -volume purchases.

4h 

 

 24/6-99

 Bot(comes from robot) = agent

Looking at available mobile systems:

 3h

 

 ******

 

 

 

 7/7-99

Ordered Mobile agents William R. Cockayne, Michael Zyda (Contributor); and  Constructing Intelligent Agents With Java : A Programmer's Guide to Smarter Applications" Joseph P. Bigus, Jennifer Bigus

Java -RMI

Start with some analyses.

 4h

 

 9/9

 ATP - protocol for agents

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Analys drafts

 

 

 

 

 

Agenthost communicate with each other to move the agent along the way.

 

 

 

 

 

 

To the contents

Questions

 

How does the mobility work?

What must the agent do?

What must the hostagent do?

Where are there host agents?

How does the agent get what it is looking for ?

What are the different standards for electric commerce ?

What is OBI ?

What is EDI ?

What kind of languages is there for communication between agents ?

How could a mobile agent give an economic profit?

Where can I find the best information about news on mobile agents ?

To the contents

Contact me

dva95kwa@umu.cs.se

or

fam.wilewska@swipnet.se

 

To the contents

Latest change: 1999-07-06 by Kristina Wilewska