代理人導向編程

面向代理编程AOP:Agent-oriented programming),是一种编程范型,这里软件的构造以的概念为中心。对比于拥有对象(提供具有可变形式参数的方法)作为核心的面向对象编程,AOP拥有外部指定的代理(具有接口和消息能力)作为核心。它们可以被认为是对象的抽象。交换的消息可以由接收“代理”,以特定于它的代理类的方法来解释。

历史
历史上,面向代理编程的概念,和软件围绕代理的概念为中心的想法,是在1990年于他的人工智能研究中介入的。他的代理特定于自己的范型,因为它们就只有一个方法,具有一个形式参数。下面引述Yoav Shoham的1990年论文,论述在AOP和OOP之间的基本区别:

框架
有多个AOP框架,也叫做代理平台,实现了Shoham的编程范型。下面的例子展示基本的代理如何编程hello-world程序。

JADE
在Java平台上的框架之一是。有运行代码的代理的一个非常基本的例子:

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");
}

}

作为JADE的AOP模型的核心的是支持标准的的API。

PADE
PADE(Python代理开发框架)是用Python语言开发智能代理的Python包。这个框架遵循了FIPA及其ACL标准。

class AgenteHelloWorld(Agent):
def __init__(self, aid):
super(AgenteHelloWorld, self).__init__(aid=aid)
display_message(self.aid.localname, 'Hello World!')

参见
*NetLogo
*
*

引用

评论 (0)

  • 还没有评论,来抢沙发吧。