Title: Achieving Agent Adaptability through Componentbased Mechanisms
1Achieving Agent Adaptability through
Component-based Mechanisms
2Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
3Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
4An example of agent
- Considerable work of a travel agent
- Understand what the user wants
- Actually act
- Behave without supervision
- Use experience
Communicative
Capable
Autonomous
Adaptive
5Agent Mindset
- Agent is
- An encapsulated computer system
- Capable of flexible and autonomous action
- In dynamic and unpredictable environment
- Nicholas R. Jennings, 2000
6Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
7Agent-based applications
- Application domains
- Systems and network management
- Mobile access and management
- Mail and messaging
- Information access and management
- Electronic Commerce
- Adaptive User Interfaces
8Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
9Agent Architecture
10Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
11Look at adaptation
- The scenario is
- Agent move around different contexts
- Notify, identify and reflect to the changes
- Need new code in the new context
- Adapt itself to the new environment
12Adaptation Mechanism
- Self-adaptation
- Core agent
13Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
14Look at component-based techniques
- Common object request broker architecture
4
3
2
1
15Look at communication techniques
- Simple object access protocol
- Platform-independent manner
- Use XML and HTTP to access services, objects and
servers
16Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
17Agent adaptation experiment
- Elements and process
- Different sub-domains
- A client application to generate agents
- Pronouncers are responsible for managing and
communicating
agent
18Main challenges
- How does pronouncer find the difference of coming
agents - Avoid duplication of agent delivery
- Combine binary components without pre-defined
references - Exchange messages in distributed environment
19Possible techniques to solve problems
- A logic base - The agents need learn
- What they should look for
- Where they should proceed towards
20Agent migration
- Not stay on separate machines and communicate
over a common network
- Traditional network architecture
21Starting migration process
- Migrate both code and data from the sender host
and resume the execution at the receiver host
go(tcp//ce.et. tudelft - yizhi 4040,
runAtRemote)
22And resuming execution
- Agents code must be linked to the code of the
already running agent host - Dynamic class loading mechanism (at runtime)
- The relative rules
- Check if loaded before
- System class loader search from CLASSPATH
- Loading from system JAR file
- Load remote class file over the network by
user-defined class loader
23Class loader look ups classes
private directory public MyClassLoader(String
dir) directory dir public synchronized
Class loadClass(String name) Class c
findLoadedClass(name) if (c ! null) return
c try c findSystemClass(name) return
c catch (ClassNotFoundException e)
try byte data getClassData(directory,
name) return defineClass(name, data, 0,
data.length()) catch (IOException e) throw
new ClassNotFoundException() byte0
getClassData( . ..) . . // omitted for
brevity
Where is the class file
Whether the class has been loaded
The run-time class object from the class file
24Binary perspective by reflection
- Reflection allows us to look inside a java object
at runtime
Protected void startAgent (Agent theAgent,
String methodName) Class agentClass
theAgent.getClass() Method method
agentClass.getMethod(methodName, new
Class0) method.invoke(methodName, new
Object0)
The class name of the given agent object
Ask this class for a name methodName
Invoke the method
25Another adaptive strategy
- Stated before, convert binary into object and
examine the object through its name - Just-In-Time customization
26Contents
- What is an agent?
- Where are agents used?
- How are agent-based system built?
- How the adaptation taken into account?
- What are the existing techniques to implement
adaptation? - What is the Agent adaptation experiment?
- Conclusion and Future work
27Conclusion
- Agent is a different way to solve complexity
- Agent to achieve it tasks through migration
- We look at the view of agent coming into the new
environment - Achieve adaptability using self-adaptation
mechanism - Respective techniques (CBD, Compiler, SOAP) to do
an experiment
28Future work
- We intend agents and remote host (pronouncers) to
communicate with each other - A user-defined class loader working with
reflection mechanism - Construct the experiment to see if
self-adaptation could achieve agents tasks
29Thank You and Questions !