Agent-oriented programming
Encyclopedia
Agent-oriented programming is a programming paradigm
introduced by Yoav Shoham in 1990 . In contrast to object-oriented programming
paradigms where objects have many methods with variable parameters to them, agent-oriented objects typically have just one method, with a single parameter. This parameter is a sort of message that is interpreted by the receiving object, or "agent", in a way specific to that object or class of objects.
To quote Yoav Shoham from his paper in 1990 for a basic difference between of AOP against OOP:
Following a very basic example http://rootdev.nl/blog/article/aop_jade_configure_in_eclipse_and_netbeans of an Agent that runs code
package helloworld;
import jade.core.Agent;
public class Hello extends Agent {
protected void setup {
System.out.println("Hello World. ");
System.out.println("My name is "+ getLocalName);
}
public Hello {
System.out.println("Constructor called");
}
}
Programming paradigm
A programming paradigm is a fundamental style of computer programming. Paradigms differ in the concepts and abstractions used to represent the elements of a program and the steps that compose a computation A programming paradigm is a fundamental style of computer programming. (Compare with a...
introduced by Yoav Shoham in 1990 . In contrast to object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...
paradigms where objects have many methods with variable parameters to them, agent-oriented objects typically have just one method, with a single parameter. This parameter is a sort of message that is interpreted by the receiving object, or "agent", in a way specific to that object or class of objects.
To quote Yoav Shoham from his paper in 1990 for a basic difference between of AOP against OOP:
- ...agent-oriented programming (AOP), which can be viewed as a specialization of object-oriented programming. ...
OOP | AOP | |
---|---|---|
Basic unit | object | agent |
Parameters defining state of basic unit | unconstrained | beliefs, commitments, capabilities, choices.... |
Process of computation | message passing and response methods | message passing and response methods |
Types of message | unconstrained | inform, request, offer, promise, decline.... |
Constraints on methods | none | honesty, consistency.... |
JADE
There are multiple 'frameworks' that implement this programming paradigm, for the Java-platform one of the frameworks is JADE (http://jade.tilab.com/).Following a very basic example http://rootdev.nl/blog/article/aop_jade_configure_in_eclipse_and_netbeans of an Agent that runs code
package helloworld;
import jade.core.Agent;
public class Hello extends Agent {
protected void setup {
System.out.println("Hello World. ");
System.out.println("My name is "+ getLocalName);
}
public Hello {
System.out.println("Constructor called");
}
}