pRTI中的testfederate例子分析

本文分析了从Mitre官网下载的testfederate例子,详细介绍了如何编译运行此例子,包括环境变量配置和批处理文件的修改。例子中包含GUI界面,通过菜单操作实现Federation Execution创建、订阅/发布机制、属性更新和反射以及时间管理等功能。用户需了解并执行相应步骤以理解HLA的工作原理。
摘要由CSDN通过智能技术生成

从pitch公司下载的testfederate例子代码不全,很多菜单响应函数都被注释掉了,直接去掉注释会出现很多编译错误。因此,不建议使用那个例子。 

 

本文中例子是从http://www.mitre.org/tech/hla_book/ 下载的最新的testfederate例子,此代码齐全,可以编译运行。

 

编译运行此例子的步骤如下:

 

1 在path环境变量下加入jdk的bin目录,同时在classpath环境变量下加入lib/prti.jar;

2 运行C:/Program Files/prti1516/samples/book/src>javac org/mitre/hla/book/test_federate/*.java命令编译程序,注意此命令是在src作为当前目录的情况下执行的。

3 直接在C:/Program Files/prti1516/samples/book目录下运行rti.bat和testfed.bat两个批处理文件,注意修改批处理文件,把jre程序换成java程序。

 

--------------------------------------------------------------------------------------------------------------

此例子加入GUI,用户可以通过菜单执行方式测试。基本的结构跟Chat例子很相似:所有federate都使用同样的一个程序,通过不同的joinFederateExecution来产生不同的联邦。

 

FED文件不是xml格式的,而是书上提到的那种格式。

 

源代码中对不同的菜单项进行了编号,因此很容易找到其对象的处理逻辑。基本上所有的菜单响应都分成三部分:

 

第一部分,在TestFederateFrame.java中通过addActionListener函数加入对菜单项的处理函数,比如

 

 

    createFedExMenuItem.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {

        createFedEx_Action(e);

      }

    });

 

 

第二部分,在TestFederateFrame.java中的消息响应函数,比如createFedEx_Action:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值