Cougaar学习之-Domain/LogicProvider

本文介绍如何在Cougaar平台中通过LogicProvider实现特定的业务逻辑处理,包括其同步特性和适用场景,以及具体的开发步骤和配置方法。

    LogicProvider是cougaar中agent上的一种插入逻辑功能的实现方式,它的特点是:同步(synchronization)。适用范围:适于反应灵敏的操作,如数据格式的转换。
   

    开发步骤:
第一步,代码实现
    代码实现包括两个类**Domain和**LogicProvider。
    1. **Domain
    关键点:
public String getDomainName() {
    return "RcvMessageDomain";  //这个名称将来会用在发布配置中
}

protected void loadLPs() {
    //RceMessageLogicProvider就是对应的**LogicProvider
    addLogicProvider(new RcvMessageLogicProvider(rootPlan, self));
}

    2. **LogicProvider 
    关键点:
public void execute(EnvelopeTuple m, Collection changeReports) {
    Object object = m.getObject();
    if (m.isAdd()) {
     //处理逻辑
     
    } else if (m.isChange()) {
     //处理逻辑

    } else if (m.isRemove()) {
     //处理逻辑

    }
}

    在logicProvider中,可以使用从**domain传递过来的rootPlan来代替BlackboardService的功能,与Blackboard进行交互.


第二步,发布配置
    有两种配置方案,  一种是修改%COUGAAR_INSTALL_PATH%/configs/common/LDMDomains.ini文件,增加类似于"glm=org.cougaar.glm.ldm.GLMDomain"的配置;
    另一种是在Cougaar应用的启动配置中,使用下面的配置
<vm_parameter>
    -Dorg.cougaar.domain.**Domain="**.**.**.**Domain"
</vm_parameter>
   
    注意:修改Cougaar应用的启动配置之后,需要在run/dubug中根据配置文件重新生成cougaar的启动参数。
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值