Agent-oriented programming is a fairly new programming paradigm that
supports a societal view of computation.
In AOP, objects known as agents
interact to achieve individual goals.
Agents can exist in a structure
as complex as a global internet or one as simple as a module of a common
program.
Agents can be autonomous entities, deciding their next step
without the interference of a user, or they can be controllable, serving
as a me diary between the user and another agent.