Agents – At an Higher Level of Abstraction
Let’s talk at an higher level of abstraction – Software Agents are intelligent creatures. They get input in real time from some sensory device and decides its course of action. Software Agents form an Agent-Based System just as Objects form an Object-Based System – the most popular and successful methodology for writing softwares. The Agent-Based Systems have been applied in various fields – Supply Chain Optimization, Distributed Computing, Social networks, Analyse traffic Congession. The most interesting of all is the Lord of the Rings where the warriors of Battle of Isengard in The Two Towers were nothing but Agents and the entire Battling sequence was the output of these agents communicating with each other. I adore this series, specially the enormity of the Battles,the animation, the graphics and of course, Aragon.
Agents systems are mostly applied in the areas where environment is dynamic and Open. Simulation of various dynamic Networks is the application that comes immediately to the mind. Agents have properties, most obviuos ones being these:
1. They are autonomous – meaning they can take decision on their own, they are self starting and require no manual intervention.
2. They are Reactive – they monitor their own environment and take immediate action as per the stimuli from the environment – Much like the stimuli to the brain from the surrounding.
3. They are Proactive.
4. They are Social, unlike the geeks. They communicate with each other when they have to.
Agents are goal-oriented. They have a specific goal to achieve and they will try to achieve it by all the possible routes, taking decisions from what it already knows, from what it has learnt.
Talking at the lower level of abstraction, Agents are of course implemented as classes. But, they are called Agents and not Objects for various reasons.
Objects and Agents both have the property of encapsulation. However, Agents are autonomous, objects are not. While Objects are passive, Agents are not. Said other way, Objects are invoked by other Objects while Agents can decide for themselves. Moreover, an Agent has its own thread of execution while an object based system has one for the system (unless it is an multithreaded application). However, Agent-based Systems are constructed using Object technology. But, Object Paradigm does not provide flexible autonomous behaviour.
So, what next: Evaluating various Agent Based tools.
About this entry
You’re currently reading “Agents – At an Higher Level of Abstraction,” an entry on Technical Musings
- Published:
- November 10, 2007 / 10:33 pm
- Category:
- Agent-Based Systems
- Tags:
No comments yet
Jump to comment form | comment rss [?] | trackback uri [?]