Database Agents 1
Mobile Agents In An Insecure Environment
Tutorial
IIWAS 2002, Bandung, 10 – 12 Sept 2002
Franz Gruber
+43 7236 3343 893
www.scch.at
Database Agents 2
Who am I?
Project Manager Evaluation of Mobile
Agent Platforms
Topics of research Mobile and distributed
systems
Wireless communictation technolgies
Database Agents 3
Virtual Tutorial CD
http://www.scch.at/agents
All slides as PDF file
Source Code
Java Class Files
Grasshoppernot included due torestrictions - However, Grasshopper can be downloaded (evaluation and non-commercial licenses free) at http://www.grasshopper.de
Database Agents 4
Overview
Introduction to agent technology Definition
Classification
Standardization
Agent capabilites Mobility
Communication and Cooperation
Security
Database Agents 5
General Remarks
Prerequisites
None
Mobile Agents for Databases Using Grasshopper by Ludwig Klug
Conceptual 2nd part of this tutorial
Practical application of mobile agents in a database framework with demos
Database Agents 6
Introduction
to Agent Technology
Franz Gruber
+43 7236 3343 893
www.scch.at
Database Agents 7
Agent-Based Computing Hype or Paradigm Shift?
“My guess is that agent-based computing will be what object-oriented programming was in the 1980s. Everybody will be in favor of it. Every manufacturer will promote his product as supporting it. Every manager will pay lip service to it. Every programmer will practice it (differently). And no one will know just what it is.” (Jennings, OOPSLA 2000)
Database Agents 8
Strong Increase in Research Activities
1st Int. Workshop on Agent Systems and Applications (WOA2000)
1st Int. Workshop on Web Agent Systems and Applications (WASA 2000)
2nd European Agent Systems Summer School (EASS 2000)
2nd Int. Symposium on Mobile Agent Applications (MAA'2000)
2nd Int. Symposium on Agent Systems and Applications (ASA 2000)
4th Int. Symposium on Mobile Agents (MA 2000)
Database Agents 9
Strong Increase in Research Activities
4th Int. Conference on Autonomous Agents (Agents 2000)
4th Int. Conference on Multi Agent Systems (ICMAS 2000)
4th Int. Workshop on Cooperative Information Agents (CIA 2000)
5th Int. Conference on Autonomous Agents (Agents 2000)
6th ECOOP Workshop on Mobile Object Systems (ECOOP 2000)
6th Int. Conf. on Information Systems, Analysis and Synthesis (ISAS 2000)
Agent-Oriented Information Systems (CAiSE 2000)
Database Agents 10
Increased Availability of Systems
AgentBuilder
AgenTalk
Agentx
Aglets
Concordia
DirectIA
Gossip
Grasshopper
iGEN
Intelligent Agent Factory
JACK Intelligent Agents
JAM
Jumping Beans
LiveAgent
Database Agents 11
Increased Availability of Systems
MadKit
Microsoft Agent
NetStepper
Pathwalker
Swarm
UMPRS
Via
Voyager
Agent Factory
D‘Agents
Agent Tcl
TACOMA
Ascape
Bee-gent
Database Agents 12
Increased Availability of Systems
Mobiware
SOMA
MOLE
RETSINA
Zeus
Ara
EXCALIBUR
Gypsy
Hive
Inforsiders
JADE
JAT
Database Agents 13
State of the Art: Overview
Definition and Classification Definition
Classification
Agent Types
Standardization
Basic Characteristics
Database Agents 14
Definition
What is an agent?
Franz Gruber
+43 7236 3343 893
www.scch.at
Database Agents 15
Definition
No unique definition in literature Various classification schemes
Various characterizing features (mobility,...)
Database Agents 16
Definition
Provisional Definition (Software Agents)
“Software program that can do some defined action for a user, which has some kind of intelligence to give the ability to do part of its function autonomously and which can interact with its environment.“
Database Agents 17
Classification (I)
Classification by mobility
Mobile or not mobile?
Interaction capabilities
Deliberative or reactive?
Ideal attributes
Learning – autonomy – cooperation
Area of influence
Autonomy – intelligence - mobility
Database Agents 18
Classification (II)
Learning – Autonomy – Cooperation
SmartAgents
CollaborativeLearningAgents
CooperationAutonomy
InterfaceAgents
CollaborativeAgents
Learning
Database Agents 19
Classification (III)
Area of Influence
Characteristic
Decision Theory
Mobility
CommunicationNetwork
Autonomy
Psychology
Reactivity
Proactivity
LearningCapability
Character
Distributed artificialIntelligence
Cooperation
Communication
ArtificialIntelligence
Database Agents 20
Classification (IV)
Autonomy – Intelligence - Mobility
Mobility
autonomy
intelligence
Mobile Objects
Mobile Scripting
static preferences
consequences
planning
learning
Asynchronity
User presentation
Interaction with data
Interaction with application
Interaction with services
Expert Systems
Age
nts
with
fixe
dfu
nctio
nalit
y
Database Agents 21
Agent Types
Reactive Agents
Hybrid Agents
Heterogeneous Agents
Smart Agents
Collaborative Agents
Interface Agents
Mobile Agents
Information/Internet Agents
Database Agents 23
Overview
FIPA Foundation of Intelligent Physical Agents
Covers the whole range of agent software architecture
MASIF Mobile Agent System Interoperability Facility
Covers only mobile agents
Convergences and differences
Database Agents 24
FIPA
Software Agent
Agent Platform Agent
Management System
Directory Facilitator
Agent
Communication Channel
Internal Platform Message Transport
Agent
Communication Channel
Database Agents 25
MASIFRegion
Communication Channel (ORB)
Agent System (Agency)
Place
Agents
Agency Services
MAFAgent
System
RegionRegistrationComponent
MAFFinder
register agent/place/systemde-register agent/place/systemlookup agent/place/system
create/suspend/resume/terminate agentreceive agentlist agents/placesget MAFFinderget agent system typeget agent status,...
Database Agents 26
Convergences & Differences
Convergence
Differences
FIPA: whole platform
MASIF: minimal definitions
Communication Channel (ORB)
Agent Platform
AgentManagement
Service
DirectoryFacilitator
AgentCommunciation
Channel
Internal Platform Message Transport
MASIF-access
part
FIPAagent
platform
Database Agents 27
State of the Art: Overview
Definition and Classification
Basic Characteristics Mobility
Communication and cooperation
Security and authentication
Information filtering and retrieval
Learning and planning
User modeling
Open issues
Database Agents 28
Characteristic Properties
Franz Gruber
+43 7236 3343 893
www.scch.at
Database Agents 29
Mobility of agents
Ability of agents to move between computers
Agents: „move“ –> „migrate“
Weak migration
Strong migration
Strong (data and control)
Weak (data only)
Database Agents 30
Mobility of agents
Basic platform runtime required on each computer
Distribution of task when needed
Database queries within DBMS
Searching within network
Weak (data only)
Database Agents 31
Orders
WirelessNetwork
HQ
WiredNetwork
NewsSpecsBGW
Orders
WirelessNetwork
HQHQ
WiredNetwork
NewsSpecsBGW
Communication
Communication Protocols, Procedures
Agent communication languages
– Knowledge Query and ManipulationLanguage (KQML)
– FIPA-ACL
– XML
Database Agents 32
KQML Message
(tell :sender sellerAgent
:receiver fhBot
:in-reply-to id333-222-289
:ontology ecbk12
:language Prolog
:content “price(ISBN453276,20.98)”
)
Database Agents 33
Cooperation
Task Processor
Local database
Contract processoror
Communication Processor Network
Contract-Net-Node Protocol
Database Agents 34
TNT
TNT
TNT
TNTTNT
TNTTNT
TNT
TNT
TNT
TNTTNTTNTTNT
TNTTNT
Security and Authentication
Threats Unauthorized disclosure of information
(Confidentiality)
Denial of service (DoS) - availability
Corruption of information(integrity)
Database Agents 35
TNT
TNT
TNT
TNTTNT
TNTTNT
TNT
TNT
TNT
TNTTNTTNTTNT
TNTTNT
Security and Authentication
Malicious Strategies Agent attacking platform
Agent attacking agent
Platform attacking agent
Agent system attacking
Mechanisms Encryption, SSL, PKI, Code Signing,
Trusted Third Parties
Database Agents 36
Information Filtering and Retrieval
Basics Unstructured information
Different kinds and sources of information
Text representation Free text search
Semantic approach
Information Filtering Long-term information retrieval
Database Agents 37
Information Filtering and Retrieval
is based on supplies
with with
stored in on
Information retrieval
Analysis of data
Principles of knowledge representation
Information during the retrieval
Transformations
Internal knowledge structure (database
structures)
analysis of data units
indexing classifying retrieval operations
documents
Database Agents 38
Learning and Planning
Planning
Plan coordination
Single - Agent - Planning
Task-oriented Planning
distributed Multi-Agent-Planning
Multi-Agent-Planning
Central Multi-Agent-Planning
Database Agents 40
User Modeling
Simulation of user‘s preferences Required for information filtering and
retrieval
Creation of user profile Initial profile
Observing user patterns and preferences
=> Customized information search
user
User profile Agent
Information source
Database Agents 41
Fundamental Questions, However, Remain
What is the essence of agent-based computing?
Why are agents an appealing computational model?
What are the drawbacks of an agent-oriented approach?
What are the implications for future software architectures?
Database Agents 42
Ongoing Research
Learning and planning capabilities Distributed planning
Distributed knowledge collection and representation
User modeling User preferences for information retrieval
and filtering
Database Agents 43
Ongoing Research
Communication and cooperation Agent communication
Agent negotiations
Security Encryption of data
Digital certificates
Database Agents 44
Commercial Agent Platforms
Selection
Franz Gruber
+43 7236 3343 893
www.scch.at
Database Agents 45
Aglets
http://www.aglets.org WWW
many security features available
easy to use GUI for administration of the agent platform
book available; open source
Characteristics:
1.1.xJDK Version:
1.1Current Version:
Open source (formerly IBM)Manufacturer:
Database Agents 46
Grasshopper
http://www.grasshopper.de WWW
support for the current standard security concepts
useful GUI for administration and monitoring of agents
detailed documentation
Characteristics:
1.2.2JDK Version:
2.2Current Version:
IKV++ GmbH, Berlin, GermanyManufacturer:
Database Agents 47
Jumping Beans
http://www.jumpingbeans.com WWW
security features are on a high level of maturity
documentation not up-to-date
migration of the agents is very slow
thread problem using a GUI
Characteristics:
1.2JDK Version:
2.2Current Version:
Ad Astra EngineeringManufacturer:
Database Agents 48
Soma
http://www-lia.deis.unibo.it WWW
main aspect in security and mobilityusing open standards like MASIF or FIPAno useful documentation available
Characteristics:
1.2JDK Version:
4.0Current Version:
Laboratory of Advanced Research on CS, University of Bologna, Italy
Manufacturer:
Database Agents 49
Using Agents
For Real-World Applications
Franz Gruber
+43 7236 3343 893
www.scch.at
Database Agents 50
Why Mobile Agents?
Real Deployment
Reduce Network Load
Overcome Network Latency
Synchronity and Asynchronity
Dataset
Dataset
Dataset
Dynamically selected
proxy site
Merged and filtered data
streamDataset
Dataset
Dataset
Dynamically selected
proxy site
Merged and filtered data
stream
Server
Dataset
Text documents,numerical data, etc.
Client/Proxy
Client/Proxy
Dataset
Server
DatasetDataset
Text documents,numerical data, etc.
Client/Proxy
Client/Proxy
Dataset
Database Agents 51
No Agents, Please!
Relative to Mobile Agents, Client/Server is Network Bound
Use mobile agents if your application does a little processing on a large dataset
Relative to Client/Server, Agents are CPU Bound
Do not use mobile agents if your application does a lot of processing on a small dataset
Database Agents 52
Next Generation Systems
Remote communication just as fast as RPC
No penalty for stationary agent
Just-in-time compilation and software fault isolation
Execution at near-native speeds
Code caching
Low migration overhead
=> “Mobile agents will do no worse than traditional implementations, and will often do better“.
[Bob Gray, Dartmouth College, ASA/MA ‚2000]
Database Agents 53
What is the essence of agent-based computing?
Component-based software engineering of the future.
Small pieces of code (fewer errors).
Easy “updates” because updates are not necessary.
Database Agents 54
Questions – Discussion
What do you think??
Franz Gruber
+43 7236 3343 893
www.scch.at