Foundations of Agents
Agent World Agent Definitions Agent’s Properties Classification of Agents Agent Autonomy Concurrent Programming
Agent World
Agent Definitions No concensus definition An agent is a computatioal entity which –Acts on behalf of a person or other entities in an autonomous fashion –Performs its action with some level of proactivite and/or reactiveness –Exhibits some level of the key attributes of learning, cooperation and mobility
Properties Autonomous Interactive Adaptive Sociable Mobile Proxy Reactive Proactive
Properties Intelligent Rational Unpredictable Temporally Continuous Learning Coordinative Cooperative Competitive Trustworthy
Classification of Agents
Autonomy Absolute Autonomy Social Autonomy Interface Autonomy Execution Autonomy Design Autonomy
Concurrent Programming Computing System Processes Threads Synchronization Examples
Computing System
Processes A process is program code that is in some state of execution. It has own address space, some or all of which are mapped by the OS into main memory. It has a single Thread or Flow of control.
Processor Single processor machine –Multitasking –MultiThreading –Concurrent Programming Multi-processor machine –Parallel Programming
Threads class A extends Thread { public void run() {...} } Class A implements Runnable { public void run() {...} } Main program: A a = new A(); a.start();
Thread methods To stop a thread: –Interrupt() To block a thread: –sleep(millisecond) –wait() –join()