Title: Agents for Datagrid
1Agents for Datagrid
- Luciano Serafini Floriano Zini
- ITC-IRST
- Trento Italy
- Geneva, August 2000
2Motivations
- Software development becoming more and more
complex and expensive, because of increasing
requirements in terms of - temporal availability (24 hours x 7 days/week
required even for the simplest Internet service), - spatial availability (access from everywhere,
portable functional sophistication, ...), - integration with external systems (legacy as well
as new), - support for heterogeneous platforms (hardware and
software). - Thus, there is a need for novel approaches to
software engineering, including multi-agent
systems.
3Multi-Agent Systems Overview
- Multi-agent systems (MAS) are collections of
intelligent processes (agents) cooperating
towards some goals. General characteristics
include - distribution over intranets or the Internet
- autonomy agents take simple decisions, run
largely unsupervised - reactivity agents respond to changes in the
environment - pro-activity agents have goals of their own
changing with environment,
seem to take the initiative'' - sociality agents easily interact with other
systems and humans MAS organized according to
some social paradigm, e.g. teams achieving joint
goals.
4Evaluation ofExisting Agent Technologies
5JACK Intelligent Agents
- A product by Agent Oriented Software Pty.
Ltd.(http//www.agent-software.com) - 2.0 released November 1999
- Based on companys RD
- third generation agent system
- Component-based approach
- core architecture and capability for developing
running distributed software agents - allows for variety of types of software agent to
be layered on top of base kernel, from simple
agents to teams of intelligent agents
6JACK features
- Design philosophy for integration, re-use and
re-engineering - Low resource requirements, designed to handle
hundreds of agents running on low-end hardware - Additional functionality is provided in the form
of plug-in components, depending upon
requirements - Language specification and modular design allow
easy extension for new agent models
7JACK features
- Belief-Desire-Intention Agent Model
- advanced programming capability
- with type-safeness
- multi-threading with safety net
- Capability concept
- allows the agent elements to be structured
- provides encapsulation of functionality
- declares interactions between encapsulated
functionalities - introduces sound software engineering practice to
agent programming
8Benefits of JACK
- Rapid development of distributed systems composed
of agents - Full access to Java
- Light-weight implementation
- High-level procedural logic within a fully
fledged object-oriented environment - Applications include
- business procedures
- workflows
- simulation of human reasoning
9Entirely written in Java
- Portability
- capable of running on any system on which Java is
available - Access to all Java capabilities, including
- multiple threads possibly running on multiple
CPUs - platform independent GUIs
- third party libraries such as JDBC
- Easy integration with external packages using
standard infrastructure, e.g., CORBA, RMI
10The BDI Agent Model
Human
Belief, Desire, Intentions Agent
Beliefs - database of perceived world knowledge
Beliefs - perceived understanding of the world
Goals or desires
Goals or desires
Execution Engine
Intentions - currently executing plans
Pre-compiled plans
Accumulated experience and behaviours
11JACK BDI Execution
observe change
intentions
beliefs
desires
observe "environment"
step intention
messages
12JACK BDI Execution
intentions
beliefs
desires
13JACK BDI Execution
observe change
intentions
beliefs
desires
observe "environment"
messages
14JACK BDI Execution
observe change
intentions
beliefs
desires
observe "environment"
step intention
messages
15JACK Programming Concepts
event
agent
plan
database
capability
has
uses
16Agents
- A type
- agent AgentType extends Agent ...
- Encapsulates knowledge and behaviour (databases,
events and plans) - Reacts to events -- performs tasks
- Receives messages -- performs services
- Interfaces other system components
- GUI, back-end, other processes
17Capabilities
- A type
- capability CapabilityType extends Capability
... - Allows agent elements to be structured
- Provides encapsulation of functionality
- Enforces declared interactions between
encapsulated functionalities - Introduces sound software engineering practice to
agent programming
18Events
- A type
- event EventType extends Event ...
- Provides the type safe connections between agents
and plans - both agents and plans must declare the events
they handle as well as the events they post or
send - Base type defines plan processing behaviour
- Event, MessageEvent, BDIGoalEvent, ..
19Databases
- A type
- database DatabaseType extends ClosedWorld ..."
- Defines knowledge capability (relational
modelling) - closed world / open world semantics
- Each database definition results in two Java
classes - one (DatabaseType) for the relation, and
- one (DatabaseType__Tuple) for the tuples of the
relation
20Plans
- A type
- plan PlanType extends Plan ..."
- Defines context dependent responses to event
occurrences - Plan processing succeeds or fails
- Reasoning methods
- requires each step to succeed
- each step processed atomically
- Meta-level plans to handle plan choice
21Agents for Data Managements
- Overhearing Agents They overhear on a dialog
between a community of agents, and they provide
such information to the suggesting agents. -
- Suggesting Agents They suggest alternative
and/or additional actions and information to an
agent by accessing to its dialogues information.
22Architecture Example
Client
Server
Overhearing Agent
Query suggesting agent
Active Caching agent
Mirror suggesting agent
23Overhearing Functionalities
- Listening dialogues
- Storing dialogues
- Analyzing dialogues
- Reporting on dialogues
- . . .
- NB Overhearing agents can be positioned in any
communication point of the DataGrid
24Overhearing Technologies
- Standard technologies (DB, . . . ) for storing,
and integrating with other DataGrid components
(Monitoring, ) - Formal reasoning for discovering query
equivalence, query containment, etc. - Case base reasoning for dialogue analysis, query
similarities, etc.
25Query Suggesting Functionalities
- Query optimization
- Q(X1, . . . , Xn) ? Q(Y1, . . . , Ym)
-
- Query estimation
- Q(X1, . . . , Xn) ? Answer time
- Answer size
- . . .
26Query Suggesting Technologies
- Formal reasoning on queries for
- Query rewriting
- Query containment
- Query classification
-
- Case Based Reasoning on queries for
- Query estimation (time, size, )
27Active Caching Functionalities
- Caching Maintain a local copy of the results of
the queries submitted by the users. - Pre fetching Predict the future queries of the
users and pre cache the results of these queries - . . .
28Active Caching Technology
- Standard caching technologies For storing the
results of the queries performed by the user. - LearningFor building a user model, which is
necessary to predict its queries. - Formal reasoning To state when the result of a
certain query is already present in the cache, as
an answer of a previous query.
29Mirror Suggesting Functionalities
- Mirror suggestion Suggest to the user
alternative and more convenient client where to
submit his query.
30Mirror Suggesting Technologies
- Standard technologies, for describing the
distribution and the duplication of the data in
(a subset of) the whole DataGrid - Metadata For describing the content of the nodes
of the DataGrid - . . .
31Final Remarks
- Suggesting agents can be defined for the server
side, and for all the other components of the
system. Many other kind of suggesting agents can
be defined. - The ones provided in this presentation are
examples. - A detailed analysis of the domain and of the user
requirements is necessary in order to precisely
define the Suggesting Agents. - This architecture allows for an incremental
implementation and testing of suggesting agents.