执行HLA仿真

简介

CERTI是一个符合HLA标准的开源RTI框架,旨在构建多标准、多语言的RTI

  • DoD HLA 1.3(a.k.a.RTI-NGv6):C++、Java、Python、Fortran90、Matlab
  • IEEE1516-2000(a.k.a.HLA 1516):C++
  • IEEE1516-2010(a.k.a.HLA Evolved):work-in-progress

CERTI主要包括两个可执行程序——RTIA和RTIG。其关系如下图:

执行顺序

  1. 配置路径;
  2. 将FOM文件(.fed或.xml)放置于RTIG的搜索路径中;
  3. 运行RTIG;
  4. 配置HOST/PORT/PROXY;
  5. 运行联邦,此时RTIA自动启动。

CERTI环境变量

CERTI有一系列影响运行的环境变量。

变量

关联方

描述

CERTI_HOME

RTIG

CERTI安装目录,用于RTIG搜索FOM文件。

CERTI_FOM_FILE

RTIG

CERTI FOM搜索路径。变量包含一系列以“;”分隔的列表,用于RTIG搜索FOM文件。

CERTI_HOST

RTIA

RTIG运行机器。RTIA运行时,尝试连接到CERTI_HOST上的RTIG(或为“localhost”或void)。

CERTI_TCP_PORT

RTIG/RTIA

RTIG/RTIA通信的TCP端口(默认为60400)。

CERTI_UDP_PORT

RTIG/RTIA

RTIG/RTIA通信的UDP端口(默认为60500)。

CERTI_HTTP_PROXY

RTIA

HTTP代理地址,格式为http://host:port

http_proxy

RTIA

若CERTI_HTTP_PROXY未定义,以此作为系统万维网HTTP代理地址。

CERTI_NO_STATISTICS

RTIA

设置后,不再显示服务调用统计。

RTIG:CERTI RunTime Infrastructure Gateway(CERTI运行框架网关)

RTIG将HLA仿真与CERTI统一起来。一个联邦至少需要有一个RTIG程序。但一个RTIG程序可用于多个联邦。RTIG启用的命令行命令为:

rtig [-v 2] [-l @IP|hostname]

-v

可选,冗余等级

0->无输出;1->少量;2->输出联邦语法

-l

可选,监听地址

 

RTIG启动后,HLA联邦成员可与RTI进行交互。事实上,联邦成员不直接与RTIG交互,而是通过RTIA与RTIG交互。RTIG在TCP端口监听RTIA连接。TCP端口为60400或环境变量CERTI_TCP_PORT的值。

RTIG与RTIA交换信息,以满足来自联邦成员的HLA请求。RTIG职责还包括为联邦成员(通过RTIA)提供需要创建或加入联邦执行的FOM文件。当联邦成员调用CreateFederationExcution API时,RTIG尝试从各个预定义位置打开FOM文件。预定义位置采用多种环境变量定义:

  1. 通过FEDid_name变量提供的,被认为是路径的文件名;
  2. CERTI联邦对象模型搜索路径 getenv(CERTI_FOM_PATH)+FEDid_name;

CERTI_FOM_PATH可能包含一系列以“;”分隔的列表;

  1. 采用CERTI_HOME环境变量 getenv(CERTI_HOME)+”/share/federations/”+FEDid_name;
  2. 安装目录加FEDid_name

PACKAGE_INSTALL_PREFIX+”/share/federations/”+FEDid_name;

  1. Unix系统中为"/usr/local/share/federation/" + FEDid_name

RTIA:CERTI RunTime Infrastructure Ambassador(CERTI运行框架大使)

当联邦成员创建RTIambassador时,RTIA自动启动。RTIA的运行命令行语句为:

rtia [-v] [-p <port>]

-v

可选,冗余,显示更多信息

-p

可选,与FederateAmbassador通信的tcp端口

RTIA尝试连接到CERTI_HOME环境变量定义的机器上运行的RTIG程序。若该环境变量未设定,则尝试连接到本机。RTIA连接到CERTI_TCP_PORT定义的TCP端口和CERTI_UDP_PORT定义的UDP端口。

联邦示例:billard-nogui

在CERTI安装目录/bin下,双击运行rtig.exe。

打开cmd窗口,cd命令转到billard-nogui.exe所在目录,输入

billard-nogui –n 1 –f Test –F Test.fed

详细信息请参考http://www.nongnu.org/certi/certi_doc/User/html/execute.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值