Hi! Thanks for the question.
Since you said that you are looking for general resources on mobile
agents and IBM aglets, I will try to provide you with links that gives
a background of this field. I will provide direct quotations from the
articles to save you time but I certainly recommend that you read them
in their entirety so as to get a better perspective. Some documents
are in PDF file so you will need the Adobe Acrobat Reader to read
them. In case you havent installed it yet here is a link so you could
download The Adobe Acrobat Reader
(http://www.adobe.com/products/acrobat/readstep2.html).
A simple explanation of mobile agents is presented here at this page:
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 specialized 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.
The page also has other interesting links for your research on mobile
agents.
Distributed Objects & Components: Mobile Agents
http://www.cetus-links.org/oo_mobile_agents.html
This wonderful article from the Java World website provides an easy
background on mobile agents.
Most often you hear about intelligent agents, such as the e-mail
client that exhibits some sort of artificial smarts to determine the
importance of a particular piece of e-mail -- possibly by scanning the
message text for tell-tale indicators of urgency ranging from
"deadline" or 'won the lotto' to 'introductory offer' or 'marketing.'
However, agents need not be intelligent. For example, an ActiveX
control that indiscriminately deletes files from your disk and then
reboots your machine for you can hardly be considered intelligent.
Nonetheless, it could be characterized as an agent of sorts.
Mobile agents are defined in formal terms by computer scientists as
objects that have behavior, state, and location. A subset of behaviors
of every agent is inherited from the model, notably those behaviors
that define the means by which agents move from place to place. Mobile
agent models almost always define a method of interagent messaging as
well. Finally, a mobile agent model is not complete without defining a
set of events that are of interest to the agent during its lifetime.
For example, the event of arriving at a new location is a momentous
one in the life of an agent and generally entails the invocation of
one or more of its behaviors.
Agents: Not just for Bond anymore By Bill Venners
http://www.javaworld.com/javaworld/jw-04-1997/jw-04-agents.html
The trends outlined in the previous section lead to the conclusion
that mobile code, and mobile agents, will be a critical near-term part
of the Internet. Why? Not because mobile code makes new applications
possible, nor because it leads to dramatically better performance than
(combinations of) traditional techniques, but rather because it
provides a single, general framework in which distributed,
information-oriented applications can be implemented efficiently and
easily, with the programming burden spread evenly across information,
middleware, and client providers. In other words, mobile code gives
providers the time and flexibility to provide their users with more
useful applications, each with more useful features.
Mobile Agents and the Future of the Internet
http://www.cs.dartmouth.edu/~dfk/papers/kotz:future2/
The IBM Aglet is an innovation brought by IBM Japan. The same website
and author of the article above meanwhile explains what an IBM Aglet
is.
An aglet is a Java-based autonomous software agent.
Aglets are autonomous because once you start them, they decide where
they will go and what they will do. They can receive requests from
external sources, but each individual aglet decides whether or not to
comply with external requests. Also, aglets can decide to perform
actions, such as travel across a network to a new computer,
independent of any external request.
Solve real problems with aglets, a type of mobile agent By Bill
Venners
The next article still from the same author discusses the architecture
or model of aglets.
The architecture of aglets by Bill Venners
http://www.javaworld.com/javaworld/jw-04-1997/jw-04-hood.html
Technically, the entities are known as Java aglets, because they
operate in the Java environment. Java is the universal language of the
World Wide Web. Most computer users encounter Java directly in the
form of applets -- small programs that users can download into their
Web browsers and then run.
The IBM team decided to reverse the process. It designed programs
that a user could send out over the Web for execution on other
computers. When they reach a target computer, these aglets present
their credentials in the form of recognizable code. Once approved for
entry to the remote computer, they obtain the data and services that
they seek, and return them to their home computers. They can also
react with other aglets at remote sites, to schedule meetings for
example. Since Java code works independently of any particular
computer operating system, IBM's aglets perform their tasks
independently of the operating systems used by their home computer and
any computers that they visit.
IBM Research
http://domino.watson.ibm.com/Comm/bios.nsf/pages/aglets.html
The following are academic and technical resources that could help you
in the preparation of your thesis:
Mobile Agents White Papers:
"Mobile Agents Introductory"
http://www.infosys.tuwien.ac.at/Research/Agents/intro.html
The Mobile Agents Paradigm by Roberto Silveira Silva Filho
http://citeseer.nj.nec.com/cache/papers/cs/21973/http:zSzzSzwww.ics.uci.eduzSz~rsilvafizSzpaperszSzSoftwareEngineeringFinalPaper.pdf/the-mobile-agents-paradigm.pdf
"Mobile Agent Platforms for Web Databases: A Qualitative and
Quantitative Assessment
http://citeseer.nj.nec.com/cache/papers/cs/12731/http:zSzzSzwww.cs.ucy.ac.cyzSzmddzSzpublzSzasama99.pdf/samaras99mobile.pdf
Security for Mobile Agents: Issues and Requirements
http://csrc.nist.gov/nissc/1996/papers/NISSC96/paper033/SWARUP96.PDF
-------------
IBM Aglet White Papers
A Study On Language Mobile Systems
http://citeseer.nj.nec.com/cache/papers/cs/11142/http:zSzzSzweb.yl.is.s.u-tokyo.ac.jpzSz~cocoazSzthesis.pdf/sekiguchi99study.pdf
Java Aglet Application Programming Interface (J-AAPI) White Paper -
Draft 2
http://www.trl.ibm.com/aglets/JAAPI-whitepaper.htm
Search terms used:
mobile agents IBM aglets basics white papers
I hope these links would help you in your research. Before rating this
answer, please ask for a clarification if you have a question or if
you would need further information.
Thanks for visiting us at Google Answers.
Regards,
Easterangel-ga |
Clarification of Answer by
easterangel-ga
on
28 Sep 2002 21:15 PDT
In answer to your clarification. I have found the following links
which touch upon mobile agents and autonomy.
A new paradigm for parallel computations is being explored using
mobile agents. Agents, possessing navigational autonomy, can deliver
tasks over a network and coordinate parallel computations on behalf of
their clients. The most common tasks for mobile agents include
electric commerce and information retrieval. These two domains are
suitable since the costs of network latency and interating with humans
dominate the cost of executing mobile agents. However, the autonomous
navigation and propagation of agents make it easy to parallelize
individual-based simulations and graph-based computations since each
agent can behave as an individual simulation entity or can construct a
graph with other agents and solve graph-related problems in parallel.
To take advantage of this opportunity for parallelism, my research
currently focuses on (1) creating mobile agents of fine granularity
and improving their run-time performance and (2) issues of scalability
in the areas of agent invocation and graph construction.
This comes from the research projects of Assistant Professor Munehiro
Fukuda
http://www.padc.mmpc.is.tsukuba.ac.jp/member/fukuda/
The key qualities that agent-based components and systems exhibit
are: autonomy, reactivity, proactivity, and social behavior. Moreover,
agents have the possibility of mobility in complex network
environments, putting software functions near the computational
resources they require. Agents can also explicitly exploit the
availability of distributed, parallel computation facilities (Franklin
& Graesser, 1997; Wooldridge & Jennings, 1996).
However, these qualities ultimately depend on the potential for agent
adaptation. For instance, if an agent is to operate with true autonomy
in a complex environment, it may have to react to a spectrum of
circumstances that cannot be foreseen by the agents designer.
Autonomous agents may need to explore alternative reactive and
proactive strategies, evaluate their performance online, and formulate
new, innovative strategies without user intervention. Moreover, for
systems of agents to behave in this manner, social interactions
between agents may also need to adapt and emerge as conditions
change.
"A Framework for Evolutionary Computation in Agent-Based Systems"
http://www.iig.uni-freiburg.de/~eymann/avalanche/fecabs.pdf
Definition1: Mobile autonomy is the capability of self-navigation of
mobile agents through the underlying networks.
The mobile autonomy of mobile agents should be inherent. Mobile
agents can be capable of making decisions about their destinations,
navigation modes and where to dock when a destination is not
reachable. The navigation modes could be serial or in parallel.
Normally, a mobile agent completes a distributed task by visiting a
series of network nodes serially and processing queries and updating
information locally. However, a mobile agent can clone itself and
assign a subtask to each of it's duplicates for executing a
distributed task concurrently when multiple resources are available
and a distributed task can be divided into concurrently executing
subtasks. The solutions of subtasks from different mobile agents are
combined into a result finally. A mobile agent should also know where
to dock temporarily in order to avoid getting lost when a network
connection is broken or unavailable, such as the disconnection of a
laptop computer from the network. So autonomous mobile agents are
dynamically network-aware entities on which Web applications are
constructed.
Definition 2: Computational autonomy is that a mobile agent can get
enough computational functions for accomplishing a distributed task.
A mobile agent should make use of all kinds of computational
resources. A mobile agent can invoke functions in different processes
or load functions into its process for execution when those functions
reside at its visiting network nodes. A mobile agent can also complete
a special computational task by executing its own functions carried by
the agent when visiting a network node with desirable resources but
without necessary computational functions.
Definition 3: Communicational autonomy is that a mobile agent can
send and receive messages in an asynchronous, anonymous and indirect
way.
"MAT: a Mobile Agent System for Supporting Autonomous Mobile Agents"
http://citeseer.nj.nec.com/cache/papers/cs/24983/http:zSzzSzwww.uow.edu.auzSz~minjiezSzpub-ps.dirzSzJRPIT.pdf/mat-a-mobile-agent.pdf
In terms of the BDI model the following links discuss the quotations
in detail:
The BDI model [9, 10] is a popular model for intelligent agents. It
has its basis in philosophy [1] and offers a logical theory which
defines the mental attitudes of Belief, Desire, and Intention using a
modal logic; a system architecture; a number of implementations of
this architecture (e.g. PRS, JAM, dMars, JACK); and applications
demonstrating the viability of the model.
The BDI model has developed over about 15 years and there are
certainly strong relationships between the theoretical work and
implemented systems.
"Simplifying the Development of Intelligent Agents"
http://goanna.cs.rmit.edu.au/~winikoff/Papers/ai01.pdf
The term agent is widely used to describe a range of software varying
in capability from the procedural "wizards" found in popular desktop
applications, toinformation agents for information search and
retrieval, and to intelligent agents capable of simple rational
reasoning. The intelligent agent as described here is an autonomous
piece of software, which has explicit goals or desires to achieve, and
is pre-programmed with plans or behaviours to achieve these goals
under varying circumstances. Set to work, the agent pursues its given
goals, adopting the appropriate plans, or intentions, according to its
current beliefs of the state of the world, so as to perform the role
it has been given. Such an intelligent agent model is generally
referred to as a BDI agent. Under the BDI model, agents may be given
"pre-compiled" behaviours, or they may plan or learn new plans at
execution time. Giving BDI agents pre-compiled plans is a method for
ensuring predictable behaviour under critical operational conditions,
and ensuring performance.
BDI agents are highly suited to the development of time and mission
critical systems, as the BDI approach provides for the verification
and validation of the model.The agent's goals may include keeping the
human users informed of what the agent is trying to achieve, what its
current intentions are, and how far it has got.
The ability of intelligent agents to perform simple tasks
autonomously has aroused much interest in the potential military
applications.
The development of intelligent agents has evolved from the early
Artificial Intelligence research into the development of autonomous
mission critical software technologies.
"THE POTENTIAL FOR INTELLIGENT SOFTWARE AGENTSIN DEFENCE SIMULATION"
http://216.239.51.100/search?q=cache:e9te4WFyG7UC:www.eleceng.adelaide.edu.au/ieee/idc99/papers/lucas_andrew.ps+%22BDI+model%22+autonomy&hl=en&ie=UTF-8
The following articles provide a deeper understanding of BDI models
and its models of autonomy.
"Designing Agent Systems: Some Critical Issues"
http://www.iie.fi/genie/publications/designing.pdf
"A Cognitive Model of Situated Autonomy" (This one is written by a
computer science professor but it also deals with the psychological
aspect of the BDI model)
http://216.239.51.100/search?q=cache:EVkNlxbVzp0C:www.csce.uark.edu/~hexmoor/CV/PUBLICATIONS/CONFERENCES/PRICAI-00/PRICAI-00-online.doc+%22BDI+model%22+autonomy&hl=en&ie=UTF-8
I hope this answers your clarification. Thanks again for being a part
of Google Answers.
Regards,
Easterangel-ga
|