智能代理如何与数据库协同工作?

How do intelligent Agents work with data base?

我正在使用 JADE 框架,我想知道智能代理是否有任何方法可以使用某种数据库,它们可以从中读取和写入一些信息?..

我试图在 excel(使用 jxl)和我的项目之间建立连接但是有一个问题:下面是写入 excel 文件的代码:

public static void write(String[] args) throws Exception {
    // TODO code application logic here
    File f = new File("C:\Users\Mastisa\Desktop\Master.xls");
    WritableWorkbook  Master = Workbook.createWorkbook(f);
    WritableSheet History_Table = Master.createSheet("History_Table", 0);

    Label L00 = new Label (0,0,"RUN#");

    History_Table.addCell(L00);


    Master.write();

    System.out.println("finished...");

    Master.close();
}

}

但我希望代理商做这样的事情:

Database D;
D.add(myAgent.getLocalName);

但这是不可能的,因为 jxl 不提供与代理合作的功能。看起来所有内容都必须手动写入 excel 文件中……但这不是我想要的……我希望特工能够舒适地读写……

还有其他方法吗?

是的,基本上当您创建 JADE 代理时,您可以向这些代理添加行为, 有几种类型的行为,您应该根据您的要求选择它们。您可以找到行为列表 here

举个例子,

public class MyAgent extends Agent
{
    @Override
    protected void setup()
    {
         addBehaviour( new InformBehaviour() );
    }
    private class InformBehaviour extends CyclicBehaviour
    {
        //dostuff
    }
}

所以基本的想法是你需要在代理的行为中完成所有这些。

确保选择适合您要求的正确行为。