2. 西安交通大学电力设备电气绝缘国家重点实验室, 陕西 西安 710049
2. State Key Laboratory of Electrical Insulation and Power Equipment, Xi'an Jiaotong University, Xi'an 710049, China
1 引言
船舶所处环境恶劣,其电气组件易受到恶劣环境影响而出现各种故障或处于非正常运行状态,从而影响电力系统正常工作,许多重要用电设备一旦失电将严重影响船舶的安全,因此迫切需要解决当电力设备发生故障后,失电负载的快速供电恢复问题,以提高船舶的可靠性和连续性[1, 2, 3, 4, 5, 6].
文[6, 7, 8, 9, 10, 11, 12, 13]提出了多种方法来解决电力系统故障恢复问题. 这些故障恢复方案存在一些问题,如有些设计方案对电网负载的优先级数做了限制[6, 7, 8],只能将船舶负载的优先级划分为重要负载、 次重要负载和非重要负载三级或更少等级,然而由于船舶上电力负载种类和数量非常庞杂,这样的划分肯定无法保证故障恢复的最优性; 又有许多方法使用矩阵或线性规划来确定故障恢复方案,由于需要进行大量的计算,因此会降低故障恢复的快速性[14].
Agent理论自提出以来一直备受电力领域的关注[15, 16, 17, 18, 19],近年来MAS(multi-agent system)开发平台的成熟也使得Agent技术从理论走向实践成为可能,其在电力系统中的应用已经得到了各国的高度重视,美国甚至将其作为未来电力战略防御系统的核心技术[18]. 本文结合Agent的特性及船舶电力系统拓扑结构及其运行特点,设计了基于多Agent系统(MAS)的船舶电力系统故障恢复方法,并根据各负载的重要程度,赋予其不同的优先级. 该MAS可实现信息的就地采集和分布式处理,具有协商功能的Agent之间采用合同网协议(contract net protocol)和预订协议(subscribe interaction protocol)进行交互协商,实现电网电能转移,以解决断电负载的供电恢复问题. 由于船舶电力系统整个恢复过程是通过Agent之间通信协商完成的,所以提高了故障恢复的快速性.
2 船舶电力系统故障恢复问题的数学描述 2.1 故障恢复系统的目标函数和约束条件电力系统故障恢复的目标是最大限度地恢复断电负载的供电,其目标函数为
其中,Lk表示母线k上的负载,yk为决策变量(yk=1: 已恢复; yk=0: 未恢复),R表示断电负载集合.在实际运行过程中,船舶电力系统所受的主要约束条件包括以下几个方面:
(1) 系统线路的电流限制和电压约束:
其中,Ii表示第i条线路中的电流,Vi表示第i条线路的电压.(2) 系统的容量限制. 供给和需求的功率必须要平衡,这样才不能引起支路或发电机过载.
(3) 电力系统必须保持在开环结构下运行. 在实际电力系统运行过程中,这种约束是强制性的.
2.2 船舶电力系统简化模型现代船舶电力系统的结构多为闭环设计,开环运行.发电机采用环网连接方式来保证供电的可靠性,一般情况下开环运行. 一些重要的负载直接接在主配电板上,其它负载由区域配电板或母线辐射状供电. 重要负载由转换开关提供两路供电以提高供电的可靠性: 常规线路和备用线路,但任意时刻,最多只能有1条线路导通为其供电.
图 1是典型区域配电模式的船舶电力系统简化模型,为典型的4电站环网供电船舶电力系统,G0~G3为4台发电机,L1~L20为系统的负载,将各电站主配电板之间的联络线和断路器开关简化等效为一个联络开关,分别为TB0~TB3,母线为B0~B7,主配电板为MSB0~MSB3[6].
3 多Agent技术Agent的定义目前还没有公认的标准,一般认为Agent是代表用户或其它程序,以主动服务的方式完成一组操作的计算实体. 通信能力是Agent的重要特征,Agent通过通信获取必要信息,还可通过通信改变另一个Agent的目标和任务. 由多个并行的Agent通过网络进行通信、 交互和协作完成求解同一问题的分布式智能系统称为MAS,其特性如下:
有限视角,即每个Agent拥有部分信息,或只具备有限能力; 没有系统全局控制; 数据是分散的; 计算是异步的.
Agent通信是实现知识共享和协作求解的重要技术,为了保证Agent之间进行有效的连续会话,FIPA(foundation for intelligent physical agents)协议预定义了一组交互协议,其中每个协议对应一种典型的会话模式,即消息交换模式. 该模式定义了Agent之间为了进行协作、 实现某个特定目标而进行交互的结构化消息. 这样Agent能够充分理解消息的含意和意图,然后根据自身的信念、 目标等心智状态,做出相应的回答.
对于Agents间的每次对话,JADE将双方分为发起者(initiator)Agent和响应者(responder)Agent. 如图 2所示,合同网交互协议描述了一个发起者(initiator)Agent希望其它一些参与者(participant)Agent执行某个任务. 这个发起者Agent会向m个参与者Agent发出请求CFP(call for proposal)消息,消息中说明了需要完成的任务. 各参与者可以向发起者回复提议(proposal)消息,表明愿意执行这个任务; 如果不愿意执行这个任务,则拒绝该消息. 在本例中,这里的任务是指向发起者提供所要求数量的电能. 在发送消息时,发起者在CFP消息中设置了回复时限. 随后,它将会收到一个或多个提议消息,也可能收不到提议消息. 当它收到一个或多个提议消息时,它将接受其中一个或多个提议消息,而拒绝其余的提议消息. 此后,当一个参与者从发起者收到accept proposal消息时,如果它成功地执行完该任务,则向发起者Agent返回一个inform消息; 如果任务执行失败,则返回一个failure消息. 提议消息被发起者接受的参与者,从现在起被称为订约者(contractor).
当一个Agent希望通过预订获得一个或多个其它Agent某项信息时,可以使用FIPA预订协议. 这种交互协议由发起者发送subscribe消息给参与者,表明它期望的预订. 参与者处理该subscribe消息,用接受或拒绝这个预订来回复该请求. 如果参与者拒绝了该请求,它用refuse回复; 相反的,如果参与者接受了该请求,则选择agree回复.
如果参与者同意了一个预订请求,它使用inform-result传达所有与预订条件匹配的内容,即一个inform通信动作和一个结果谓词作为内容. 参与者一直发送inform-results消息直到发起者通过发送cancel消息表示取消,或者参与者的预订失败,发送failure消息,图 3给出了这个协议的交互过程.
本文建议Agent之间的会话过程要遵循FIPA协议标准,这样各会话Agent双方可以预期应该得到什么样的答复,结果可使交互过程不容易出现错误. 如当Agent发送取消(cancellation)消息时,为了确保这个消息被期望的Agent所接收,它应得到inform或failure的回复消息.
4 基于MAS的船舶电力系统恢复架构本文所设计的MAS体系采用面向对象的设计技术. 为了提高整个MAS的效率,对Agent的种类和总数加以限制,将Agent按照其性质和功能分为20个负载Agent(LA)、 8个母线Agent(BA)、 4个主配电板Agent(MSBA)和一个中央控制Agent(CCA). 图 4显示了每个LA、 BA和MSBA在电力系统中的位置. 图中发电机和负载旁边的实数表示其额定功率,主配电板旁边圆括号内左边实数表示区域电站所能提供的最大功率,右边实数表示区域电站可用(剩余)功率,单位为kW. 用“●”表示断路器处于闭合状态,用“○”表示组件处于开路状态,其后的图表示法相同.
针对船舶电力系统电网结构特点和工作方式,本文所设计的MAS体系采用了垂直式结构,多Agent系统的分层结构和各层之间的控制和数据流如图 5所示.
设计LA可用来报告负载状态和请求恢复供电,并说明所需功率. CCA的功能是维持整个MAS系统的故障恢复过程,其接收断电负载LA的恢复请求,并建立一个断电负载LA列表,通过从列表中选择优先级最高的LA来推进恢复过程.
设计MSBA用来在故障发生后,通过与其它MSBA相互协作确定一个比较合适的系统结构配置,其可用来计算对应主配电盘的可用功率,并检查当前电气参数是否满足约束条件等功能. MSBA具有下面简单的协商策略:
(1) 如果可用功率数量不足以为其它断电负载恢复供电时,MSBA通过与其它MSBA协商进行电能转移,恢复断电负载的供电.
(2) MSBA要保证电力系统开环运行. 本文采用JADE作为MAS开发工具和平台. JADE完全通过Java语言实现,并遵循FIPA(foundation for intelligent physical agents)规范,因采用一系列支持调试和发布的图形工具而方便了MAS的开发. JADE的目录服务器(directory facilitator,DF)可提供黄页服务功能,在所设计的MAS中,每个能够提供电力服务的MSBA可以向DF注册其服务,然后其它需要电能的MSBA可以在黄页中查询可提供该类服务的MSBA. 为了在黄页上注册其能够提供电力服务的信息,MSBA需调用DFService类的静态方法register()注册该服务,具体代码如下所示:
DFAgentDescription dfd=new DFAgentDescription();
dfd.setName(getAID());
ServiceDescription sd=new ServiceDescription();
sd.setType("PowerGeneration"); //设置服务类型为可提供电能
sd.setName("MSBA1"); //设置该服务MSBA的名称
dfd.addServices(sd);
DFService.register(this,dfd);
一个MSBA希望获得其它MSBA的电能,就在黄页中搜索能提供电能的目标MSBA. 搜索目标MSBA时,需要建立一个模板,以便正确找到能提供电能的MSBA,代码如下:
DFAgentDescription template=new DFAgentDescription();
ServiceDescription sd=new ServiceDescription();
sd.setType("PowerGeneration"); //类型为可提供电能
template.addServices(sd);
DFAgentDescription[]result=DFService.search(myAgent,template);
PowerGenerating Agents=new AID[result.length];
在黄页上搜索到可以提供电能的MSBA后,结果可能有多个MSBA,则该MSBA与搜索到的这些MSBA进行通信协商,在其中选择合适的MSBA为其提供电能.
本文研究多Agent系统如何在功率恢复过程中运用FIPA合同网交互协议和FIPA预订协议(subscribe protocol),进行主配电板之间电能的传递或转移. 在此过程中,为了随时了解其它MSBA电能合同的变化情况,FIPA预订协议在本文多Agent系统功率恢复设计中非常有用,即当发起者成功地找到订约者后,那么发起者将预订订约者的通知,这样当发生任何影响它们之间协定条件的变化后,订约者将通知发起者. 这个过程是双向的,即如果网络中的故障已清除,供电已经恢复,发起者Agent将取消这个预订协议; 而如果系统的变化影响了订约者继续提供电力的能力,订约者也将同样取消这个预订.
这样在船舶电力系统工作过程中,如果发生了故障,在故障隔离后,为了恢复船舶电力系统正常工作,本文所设计的电力系统故障恢复算法步骤如下:
步骤1 所有的失电负载LA向CCA提出“启动请求”.
步骤2 CCA创建待恢复负载集R,并按照优先级次序进行排序.
步骤3 CCA选择优先级最高的一个负载LA,向其发送“同意请求”命令; 如果负载集R为0,转到步骤21.
步骤4 该LA按照FIPA合同网协议,向其所连接的BA或MSBA(响应者Agent)提出恢复供电提议CFP消息,消息中说明了需要完成的任务、 承担任务应具备的条件,这里母线BA或MSBA包括常规线路和备用线路.
步骤5 相关BA或MSBA(响应者Agent)调用方法prepareResponce(),计算其上可用功率,检查线路状态,如果可以提供或通过全部所需功率,则会向发起者LA回复proposal(协议)消息,如果该负载的线路损坏,则会向发起者LA回复refuse(拒绝)消息,转到步骤6; 否则,如果是母线BA,转到步骤8; 如果是MSBA,转到步骤10.
步骤6 到规定时间或收到所有回复消息后,该LA(发起者Agent)对所接收到的回复消息依次进行检查和评估,依据线路状态和优先性(常规线路优先于备用线路),选出合适的BA或MSBA,向其发送accept-proposal消息,向其余未选中的BA或MSBA发送reject-proposal(拒绝协议)消息,则转到步骤7; 如果该LA收到的均为refuse(拒绝)消息,则转到步骤21.
步骤7 所选BA或MSBA向其与发起者LA之间的断路器BR发送“闭合”控制动作命令,然后向发起者LA回复Inform消息,转到步骤19.
步骤8 该母线BA向其主配电板MSBA发送“通报”消息.
步骤9 该MSBA计算主配电板上的可用功率,如果可用功率大于BA的请求,则该MSBA向它与该母线之间的断路器BR发送“闭合”控制动作命令,转到步骤7; 否则转步骤10.
步骤10 该MSBA在黄页上搜素可提供电能的其它MSBA,如果没有可提供电能的MSBA,转到步骤14; 否则转到步骤11.
步骤11 该MSBA(发起者Agent)按照FIPA合同网协议(FIPA-contract-net protocol),向从黄页上所搜索到的其它MSBA发出恢复供电提议CFP消息,消息中说明了需要完成的任务及承担任务应具备的条件.
步骤12 各主配电板MSBA(响应者Agent)接到该MSBA(发起者Agent)的CFP消息后,立即调用方法prepareResponce(),计算其可用功率,如果各响应MSBA可以提供或通过全部或部分所需功率,则会向发起者MSBA回复Proposal(协议)消息,同时说明所能承担的功率.
步骤13 到规定时间或收到所有回复消息后,该MSBA(发起者Agent)对所接收到的各回复消息依次进行检查和评估,依据与其距离的远近和所能提供功率的大小选出合适的MSBA,可能有多个MSBA; MSBA(发起者Agent)向所选中的MSBA发送accept-proposal消息,向其余未选中的MSBA发送reject-proposal消息. 从现在起这些被选中的MSBA称为订约者(contractor),转到步骤14; 如果找不出中标的MSBA,转到步骤15.
步骤14 MSBA(发起者Agent)与所选中的MSBA建立预订协议,那么发起者将预订订约者的通知,这样当发生任何影响它们之间协定条件的变化后,订约者将通知发起者. 这个过程是双向的,即如果网络中的故障已清除,供电已经恢复,发起者Agent将取消这个预订协议; 而如果系统的变化影响了订约者继续提供电力的能力,订约者也将同样取消这个预订.
步骤15 MSBA开始分级卸载低优先级负载,转到步骤5.
步骤16 所选MSBA控制它与发起者MSBA之间的断路器闭合,并向发起者MSBA回复inform消息.
步骤17 发起者MSBA控制它的主配电板与负载或母线之间的断路器闭合,并向BA或LA回复inform消息,如果是母线,转到步骤18; 如果是负载,转到步骤19.
步骤18 母线BA对收到回复消息进行检查,如果回复为inform消息,则控制它与负载之间的相应断路器闭合,并向LA发送inform消息.
步骤19 该负载LA向CCA体发送inform或failure消息,表明该负载已恢复供电或找不到合适恢复线路.
步骤20 CCA从未恢复供电负载集R中删除该负载LA请求,转到步骤3.
步骤21 停止恢复过程.
在步骤5和步骤12中,响应者Agent接收到发起者Agent的CFP消息后,立即调用方法prepareResponce(),该方法的工作流程如图 6所示.
由于本方法按照负载的优先级由高到低依次恢复失电负载的供电,所以式(1)实质表示最大限度地恢复高优先级负载的供电量.
5 实验算例采用2个典型算例来说明本故障恢复算法的有效性. 假设负载优先级顺序为LA8>LA1>LA6>LA11>LA16>LA3>LA5>LA10>LA13>LA15>LA17>LA20>LA2>LA4>LA7>LA9>LA12>LA14>LA18>LA19.
算法1 完全恢复断电负载供电
故障1设置为各电站独立运行,某一时刻区域1内负载L6、 L8常规路径上游线路发生故障,导致负载L6、 L8失电,故障后的网络如图 7所示.
按照所设计的故障恢复步骤,LA6、 LA8向CCA发出启动请求,CCA建立失电负载集{LA6、 LA8},并按照负载优先级进行排序,选择负载L8优先恢复,则CCA向LA8发送“同意请求”命令. LA8向BA1和BA2发送CFP消息,消息中说明需要完成的任务及承担任务应具备的条件,由于L8常规路径上游线路发生故障,则BA2向发起者LA8回复refuse(拒绝)消息; 假设母线B1上可用功率小于LA8的需求,则BA1向MSBA0发送“通报”消息; 假设主配电板MSB0上可用功率小于BA1的需求,且主配电板MSBA1在黄页上注册了供电服务,则MSBA0向MSBA1发送CFP消息,主配电板MSB1上的可用功率大于MSB0的需求,MSBA1控制断路器TB0闭合,然后MSBA0控制断路器BR7闭合,BA1控制断路器BR18闭合,一旦L8获得足够电能,LA8向CCA体发送inform消息,表明该负载已恢复工作,CCA从负载集R中删除负载LA8. L6也以相似的方式获得电能. 负载L8和L6恢复供电后的系统网络如图 8所示.
主配电板的剩余功率为负值表明其所提供的功率是由其它区域电站提供的.
算法2 通过卸载低优先级负载恢复重要负载
故障2设置与算例1相同,各电站满载独立运行,某一时刻负载L6、 L8常规路径上游断路器故障,导致L6和L8失电,同时TB0和TB3因损坏无法闭合,故障后的网络如图 7所示.
按照所设计的故障恢复步骤,LA6和LA8向CCA发送恢复供电请求,依据预先规定的负载优先级次序,L8优先恢复; 在LA8恢复时,由于L8常规路径上游断路器故障,BA2拒绝LA8恢复申请. 由于发电机SG0的额定功率为840.0 kW,TB0和TB3处于损坏状态,主配电板MSB0无法通过网络重构获得功率,则MSBA0对区域0内优先级比较低的负载进行卸载,这样首先对L4进行卸载,然后MSBA0计算主配电板MSB0上的可用功率. 如果不能满足要求,则继续对负载L2进行卸载,然后MSBA0计算主配电板MSB0上的可用功率; 如果满足LA8功率要求,则MSBA0控制断路器BRA7闭合,随后BA1控制断路器BRA18闭合,负载L8恢复供电,LA8向CCA发送inform消息,CCA将LA8从集合R中删除. 在L6的恢复过程中,由于区域0内再没有低优先级负载可供卸载,L6没有成功恢复供电,负载L8恢复供电后的系统的网络如图 9所示.
6 结论本文提出了一种基于MAS的船舶电力系统故障恢复方法. 所提出的MAS由4种不同的Agent组成,通过Agent之间的通信,MAS利用局部信息就能进行故障恢复工作,通过2个算例验证了该方法的有效性.
由于本方法源自于简化的船舶电力系统拓扑结构,未来将研究更复杂的系统. 同时,同步发电机、 推进电机和功率变换器的Agent监控也需要考虑.
[1] | 陈雁, 孙海顺, 文劲宇, 等. 改进粒子群算法在船舶电力系统网络重构中的应用[J]. 电力自动化设备, 2011, 31(3): 29-34. Chen Y, Sun H S, Wen J Y, et al. Application of improved PSO algorithm in network reconfiguration of shipboard power system[J]. Electric Power Automation Equipment, 2011, 31(3): 29-34. |
[2] | 王锡淮, 李军军, 肖健梅. 基于梯度DPSO算法在舰船电力系统网络重构[J]. 电工技术学报, 2007, 22(12): 140-145. Wang X H, Li J J, Xiao J M. Network reconfiguration of the shipboard power system based on gradient discretization method of partical swarm optimization[J]. Transactions of China Electrotechnical Society, 2007, 22(12): 140-145. |
[3] | 王征, 王永骥, 李哲. 基于改进蚁群算法的船舶电力系统故障重构研究[J]. 计算技术与自动化, 2010, 29(1): 1-4. Wang Z, Wang Y J, Li Z. Research on reconfiguration of ship power system based on improved ant colony optimization[J]. Computing Technology and Automation, 2010, 29(1): 1-4. |
[4] | 王锡淮, 李军军, 肖键梅. 求解舰船电力系统网络重构的贪婪DPSO算法[J]. 控制与决策, 2008, 23(2): 57-61. Wang X H, Li J J, Xiao J M. Geed DPSO algorithm for network reconfiguration of shipboard power system[J]. Control and Decision, 2008, 23(2): 57-61. |
[5] | 王家林, 夏立, 吴正国, 等. 基于快速非支配排序遗传算法的船舶电力系统多目标故障重构[J]. 电网技术, 2012, 36(11): 58-64. Wang J L, Xia L, Wu Z G, et al. Multiobjective optimal network reconfiguration of shipboard power system based on non-dominated sorting genetic algorithm[J]. Power System Technology, 2012, 36(11): 58-64. |
[6] | 黎恒烜, 孙海顺, 文劲宇, 等. 用于舰船电力系统重构的多代理系统设计[J]. 中国电机工程学报, 2011, 31(10): 81-87. Li H X, Sun H S, Wen J Y, et al. Design of a multi-agent system for shipboard power system reconfiguration[J]. Proceedings of the CSEE, 2011, 31(10): 81-87. |
[7] | 朱志宇, 刘维亭, 庄肖波. 基于克隆算法的舰船电力系统故障恢复[J]. 电工技术学报, 2009, 24(1): 164-170. Zhu Z Y, Liu W T, Zhuang X B. Shipboard power system service restoration based on clonal algorithm[J]. Transactions of China Electrotechnical Society, 2009, 24(1): 164-170. |
[8] | 黄靖, 张晓锋, 叶志浩. 基于多智能体的船舶综合电力系统故障恢复方法[J]. 中国电机工程学报, 2011, 31(13): 71-78. Huang J, Zhang X F, Ye Z H. Method of service restoration for integrated ship power system based on multi-agent systems[J]. Proceedings of the CSEE, 2011, 31(13): 71-78. |
[9] | Li X D, Xu Y Q, Zhang L. Distribution service restoration with DGs based on multi-agent immune algorithm[C]//2nd International Conference on Power Electronics and Intelligent Transportation System. Piscataway, NJ, USA: IEEE, 2009: 1-4. |
[10] | Belkacemi R, Feliachi A. Multi-agent design for power distribution system reconfiguration based on the artificial immune system algorithm[C]//Proceedings of 2010 IEEE International Symposium on Circuits and Systems. Piscataway, NJ, USA: IEEE, 2010: 3461-3464. |
[11] | 黄靖, 张晓锋, 陈雁, 等. 船舶综合电力系统多目标故障恢复模型及应用[J]. 电工技术学报, 2010, 25(3): 130-137. Huang J, Zhang X F, Chen Y, et al. Multiobjective optimal model of service restoration for integrated ship power system and its application[J]. Transactions of China Electrotechnical Society, 2010, 25(3): 130-137. |
[12] | Varghaei S. A multi-agent approach for distribution system restoration[D]. Copenhagen, Danmark: Technical University of Denmark, 2009. |
[13] | 韩忠晖, 顾雪平, 刘艳. 考虑机组启动时限的大停电后初期恢复路径优化[J]. 中国电机工程学报, 2009, 29(4): 21-26. Han Z H, Gu X P, Liu Y. Optimization of restoration paths considering unit start-up time requirements at early stage of power system restoration[J]. Proceedings of the CSEE, 2009, 29(4): 21-26. |
[14] | 杨霖, 郭志忠. 系统状态特征化及其在配电网重构中的应用[J]. 中国电机工程学报, 2008, 28(16): 39-44. Yang L, Guo Z Z. System state characterization and application to distribution network reconfiguration[J]. Proceedings of the CSEE, 2008, 28(16): 39-44. |
[15] | Wang Z, Xia L, Wang Y. Application of multi-agent and genetic algorithm in network reconfiguration of ship power system[J]. Elektronika ir Elektrotechnika, 2012(9): 7-10. |
[16] | 郝雨辰, 吴在军, 窦晓波, 等. 多代理系统在直流微网稳定控制中的应用[J]. 中国电机工程学报, 2012, 32(25): 27-35. Hao Y C, Wu Z J, Dou X B, et al. Application of multi-agent systems to the DC microgrid stability control[J]. Proceedings of the CSEE, 2012, 32(25): 27-35. |
[17] | 肖宝亮, 贺筱媛, 张明智. 基于Agent的电力网络建模与仿真[J]. 电力系统自动化, 2014, 10(1): 6-9, 21. Xiao B L, He X Y, Zhang M Z. Modeling and simulating of electric power network based on agent[J]. System Simulation Technology, 2014, 10(1): 6-9, 21. |
[18] | McArthur S D J, Davidson E M, Catterson V M, et al. Multi-agent systems for power engineering applications, Part I: Concepts, approaches, and technical challenges[J]. IEEE Transactions on Power Systems, 2007, 22 (4): 1743-1752. |
[19] | McArthur S D J, Davidson E M, Catterson V M, et al. Multi-agent systems for power engineering applications, Part II: Technologies, standards, and tools for building multi-agent systems[J]. IEEE Transactions on Power Systems, 2007, 22(4): 1753-1759. |
[20] | Bellifemine F, Caire G, Greenwood D. Developing multi-agent systems with JADE[B]. New York, NJ, USA: Wiley & Sons, 2007. |