Title: The Role of Mobile Agents in Distributed Environments
1The Role of Mobile Agents in Distributed
Environments
- Omer Rana
- Parallel and Scientific Computation, Computer
Science, - Cardiff University, UK
- o.f.rana_at_cs.cf.ac.uk
2Agenda
- Mobile Agents (MAs) - new paradigm or recycled
idea? - Role in PSEs and Scientific Computing
- Combining MAs with Intelligent Agents
- Emerging Concerns
- Feed-in from HPC into Agents Research and reverse
3Four Core Questions
- How can Mobile Agents enhance PSEs?
- How can Mobile Agents be combined with
Intelligent Agents? - What can HPC offer Agents and vice versa?
- Can I finish this in the allocated time?
4Mobile Agents
- Mobile code -- generally objects in Java, Tcl,
Scheme - Able to migrate -- carry code, data and state
- Static or dynamic itinerary
- Various models and libraries
- Ideas Actors, Objects, Messengers
5The Differences ...
Know How
Client
Server
Client-Server
Know How
2
Know How
1
Server
Client
Code-on-Demand
6The Differences 2
Network
Know How
Know How
Know How
Host
Host
7Mobile Agents vs. Mobile Objects
- Autonomous and Goal Directed
- Granularity
- Underlying Framework - Rigid API
- Context and Place
- Name and Location Service
- Problem Decomposition - Abstraction
- Interoperability
8Mobile Agents in Operation
MA
Parent Host
Place/Context
9Why do we need Mobile Agents?
- Reduce network load and latency
- Protocol/Software Upgrade
- Asynchronous and autonomous
- Heterogeneous and dynamic
- Robust and fault tolerant
10Why do we need Mobile Agents? 2
- Mobile devices and users
- The need for customisation
- Single, general framework for distributed
information oriented Apps. - A new middleware?
- Need for interoperability across platforms and
information sources
11Role In PSEs and Scientific Computing
- Replace large problem with sub-problems - modeled
as PDEs - Create network of collaborating solver agents
- Solver vs. mediator agents
- Recommender agents (Brokers) for locating
numerical solvers
12Role In PSEs and Scientific Computing
- An Interface to Mathematical libraries and
solvers such as GAMS and NetSolve - Need middleware to extract mathematical routines
and convert these into code that may be migrated - Sharing of components across PSEs
- Combine various PSEs together
13Role In PSEs and Scientific Computing
- Resource management and load balancing - contract
net - Domain Decomposition
- Migration of numerical algorithm vs. data
migration - improved data management
- Integration
14Agent Interoperability
- Agents meant to work together
- Mobile Agents vs. Intelligent Agents
- Different backgrounds
- process migration vs. artificial intelligence
- messaging vs. conversations
- Required to work with other information sources -
legacy systems?
15Interoperability in Mobile Agent Systems
- Highly heterogeneous execution environment
- MASIF Framework (Mobile Agent System
Interoperability Facility) - same language but different vendors
- agent management (creating, resuming )
- agent transfer
- agent naming and identification
16Intelligent Agents
- Encode behaviour as logic rules - representing
mental state - Communicate via specialised ACLs
- communicate not just bits/bytes but attitudes
- find, inform other agents to perform a service
- Ontology - preserving semantic content of a
message
17Intelligent Agent Architecture
18Intelligent Agents more than a message
- Message contains more detail
Performative
(ask one sender pse-cardiff content (BAYES
CART ?prior) receiver data-mine-server
reply-with prior-probability language JAVA
ontology Data-Mining-Algorithms )
Comms layer
Message layer
Content layer
19Interoperability in Intelligent Agents
- More than just operating environment
- Semantic interoperability
- Behaviour repeatability
- Interaction between information sources
- Judging relevance of information sources
- Declarative vs. Procedural
- just-do-it vs. how-to-do-it
20Closing the Gap between Intelligent and Mobile
Agents
- Mediator and Facilitator agents
- service brokers
- stand alone or federated
- Standards for information exchange
- Use of new representation languages such as XML
- Representation of semantics in Java in addition
to environment interoperability
21Conversations
- Messages between Mobile agents are more complex
and structured - A transaction (series of messages) modeled as a
conversation - A Conversation Protocol with pre-defined
scripted message interchange - Managed by Place/Context (for initiating and
maintaining conversations)
22Conversation to Design Patterns
- Capture recurring themes in scientific software
as a collection of design patterns - Not just commonly used routines
- as in MPI (Send, Receive, Scatter, Gather, Reduce
etc) - Extend to a higher granularity of commonly used
services - Perhaps domain dependent
23Current Design Pattern (DP) Categories
- Agent Patterns
- Architecture and Applications
- Communication Patterns
- Traveling Patterns
- QoS, Itinerary, Forwarding
- Task Patterns
- Master-Slave
- Interaction Patterns
- Meeting, Locker, Finder
- Coordination Patterns
- Managing Dependencies
24Conversations/DP for PSEs?
- Can we similarly define recurring themes in PSEs?
- Multi-disciplinary PSEs
- Ontologies for PSEs
- Knowledge sharing between PSEs
- Interfaces to common repositories
25Technical Hurdles
- Performance and Scalability
- high load on service machines
- migration overheads
- Portability and Standardisation
- Security
- Framework for conversations
- Integration with other information sources
26Non Technical Hurdles
- A Killer Application!
- Philosophical concerns
- Autonomy in licensed software
- Problem decomposition
- Input from commercial applications
- Uptake of languages such as Java
27The Future?
- Autonomous PSEs with mobile components
- Biologically inspired paradigms flocking and
swarms -- Sematectonic Stimergy - Large collection of autonomous entities
collaborating to solve a single problem - Implicit Fault tolerance and adaptability
- Beyond Meta-Computing
28Agent Grid
Agents the Computational Grid
29The Future Enablers
- Platform independent languages and
interoperability support Java, CORBA - Standards in knowledge representation, service
discovery FIPA ACL, XML - Faster networks and uptake of mobile computing
Gigabit Ethernet, Internet 2 - PSEs
30xxx Agility addresses these Architecture WG
in Pittsburg Control WG in Pittsburg
Interoperability WG in Pittsburg red Sun Jini
green other DARPA programs
Agent Reference Architecture
- policy, management
- resource dial
ALP, HLA, IA
GRID
federates
- AGENT SYSTEM
- single Vs. multi-agent
- heterogeneous
- computing environ.
- agent systems
- ACLs
- content languages
- ontologies
- policies
- services
- open world assumption
systemic grid features
common services
- ensembles
- of agents
- teams, peers, contracting,
- org. responsibility
- roles, capabilities,
- mutual beliefs
- hierarchy
- conversational policies
- societies
- closed vs.. open, communities of interest
- agent properties kinds
- communication capability
- computation capability
- by role in system
- information agent
- data sources
- interface agent
- NLI, multimodal
- coop response
- task agent
- web/email agent
- middleware agent
- mobile agent, itinerary
- social, personality, motivation, forgetting
- intelligent agent
distribution messaging svcs agent life cycle -
start, stop, checkpoint, name service event
monitoring leasing, compensation catalog
services, registry/repository
register, offer/accept/decline publish,
subscribe trading, matchmaking,
advertising, negotiating, brokering,
yellow pages security authenticate
encrypt access control lists firewall
CIA model agent suspects transactions persistence
query, profile (of metadata) data
fusion replication groups
multicast (scarce) resource mgmt, allocate,
deallocate, monitor, local, global
optimization, load balancing, negotiation for
resources scheduling time, geo-location rules,
constraints planning property list versioning,
config
autonomous decentralized
- control, coordination,
- multi-agent synchronization
- cooperation, competition
I3 BADD AICE
OMG JTF Jini
scalability
adaptation, evolution via market model, ...
licensing cost
- ONTOLOGY
- Ontolingua, OKBC
- metadata representations
- interests, locations, availability, capability,
price/cost - XML and web object models
mobility
secure, trust
IA
speech acts ACL - KQML, FIPA ACL, OAA ICL
survivability
- infrastructure
- primitives
- reflection
- serialization
- threads
- interceptors
- proxies
- filters
- multicast
- wrappers
- legacy sys
- data sources
- planning
- reactive
- goal interactions
- discrete vs. continuous
- constraints
- iterative, revision
- workflow
evolvability
EDCS
reliable
Quorum
More common services instrumenting,
logging caching queuing routing,
rerouting pedigree, drill down translation ...
time-constrained
- content languages
- KIF, FOL, IDL, RDF
DDB