Examensarbete
Searching and filtering with mobile agents
Contents
![]()
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
![]()
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
![]()
![]()
![]()
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
![]()
|
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.

![]()
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 ?
…![]()
or
![]()
Latest change: 1999-07-06 by Kristina Wilewska