KY-RTI分布仿真技术:第九章 综合演示
第九章 综合演示
KY-RTI支持基于不同CPU、不同操作系统、不同程序设计语言、不同HLA服务调用方式开发的仿真成员之间的互操作,本章综合前面章节的内容给出了几个联合测试案例。本章以银河麒麟、Ubuntu、Windows操作系统和x86、飞腾CPU为主进行测试,同样的测试也适用中标麒麟操作系统和龙芯CPU,以及深度操作系统和申威CPU;KY-RTI支持x86、飞腾、龙芯、申威等机器的互联互通,实现各类程序的集成。
9.1演示1:C++/Qt/Java联合测试
该演示环境为一台安装银河麒麟操作系统(http://www.ubuntukylin.com)的机器,采用GNU C++、Qt、Java的时间管理程序进行联合测试,如图9.1所示。Qt本身不是一种编程语言,但其拥有自己的类型定义、图形框架和丰富的函数库,类似Visual Studio C++,将其与普通C++程序、Java程序联合测试有所必要。
操作步骤:
第1步:启动KY-RTI服务器,如图9.2所示。
第2步:启动GNU C++的time-tick时间管理程序,如图9.3所示。
第3步:启动Java的time时间管理程序,如图9.4所示。
第4步:启动Qt的QtTimemanagement图形化的时间管理程序,如图9.5所示。
测试结果表明:KY-RTI支持C++/Qt/Java各种程序设计语言开发的仿真成员的联合仿真。

图9.1 银河麒麟操作系统上的C++/Qt/Java联合测试

图9.2 KY-RTI服务器

图9.3 基于GNU C++开发的time-tick程序

图9.4 基于Java开发的time程序

图9.5 基于Qt开发的time程序
9.2演示2:C++/Java/Python联合测试
该演示环境为一台Ubuntu1604机器,采用GNU C++、Java、Python三种语言的聊天程序进行联合测试。
操作步骤:
第1步:启动KY-RTI控制台;
第2步:关闭RTI.rid的tick开关,聊天程序没有使用tick服务;
第3步:运行GNU C++聊天程序;
第4步:运行Java聊天程序;
第5步:运行Python聊天程序。
运行结果如图9.6所示。
测试结果表明:KY-RTI支持C++/Java/Python三类程序设计语言开发的仿真成员的联合仿真。

图9.6 基于C++/Java/Python的联合测试
9.3演示3:Visual C++/Visual C#联合测试
该演示环境为一台Windows机器,采用Visual C++ 2010的ping-tick程序与Visual C# 2010的pong-notick程序进行联合测试。因为ping-pong程序只需要两个仿真成员,如果采用时间管理示例,实际上可以实现Visual C++、Visual C#、Java三类程序的互操作,参见演示4。另外,仿真成员不区分32位和64位。
操作步骤:
第1步:启动KY-RTI服务器;
第2步:打开RTI.rid的tick开关,运行Visual C++ 2010的ping-tick程序;
第3步:运行Visual C# 2010的pong-notick程序。
运行结果如图9.7、图9.8、图9.9所示。
测试结果表明:KY-RTI支持Visual C++和Visual C#两类程序设计语言开发的仿真成员的联合仿真。

图9.7 KY-RTI服务器

图9.8 基于Visual C++ 2010开发的ping-tick程序

图9.9 基于Visual C# 2010开发的pong-notick程序
9.4演示4:软硬件异构平台联合测试
该演示测试KY-RTI对于异构CPU、异构操作系统、异构程序设计语言、异构HLA服务调用方式等软硬件环境下的互操作功能。测试环境如表9.1所示。
表9.1 测试环境
|
系统环境 |
计算机1 |
计算机2 |
|
操作系统 |
Windows 7 |
银河麒麟操作系统SP2 |
|
CPU类型 |
Intel Core i5-6200U 2.30GHz,4核 |
飞腾FT2000a,4核 |
|
程序设计语言 |
VC++、VC#、Java、Qt |
GNU C++、Java、Qt |
测试采用两台计算机,计算机1为x86、Windows 7,计算机2为飞腾cpu、银河麒麟操作系统,如图9.10所示。整个仿真启动1个KY-RTI和7个仿真成员。测试采用本文中的时间管理示例。
计算机1:启动KY-RTI并部署4个仿真成员VC++、VC#、QtCreator(x86_Win7)、Java(x86_Win7);
计算机2:部署3个仿真成员g++、QtCreator(ft_Linux)、Java(ft_Linux)。
测试结果表明:KY-RTI的互操作性很好,具有很强的软硬件跨平台能力。

图9.10 基于KY-RTI的软硬件测试环境示意图
表9.2 仿真成员
|
仿真成员名称 |
程序设计语言 |
tick调用方式 |
所在计算机 |
|
VC++ |
VC++ 2010 |
Y |
Win7 |
|
VC# |
VC# 2010 |
N |
Win7 |
|
QtCreator(x86_Win7) |
Qt5.5.0 |
N |
Win7 |
|
Java(x86_Win7) |
JDK1.8.0_162 |
N |
Win7 |
|
g++ |
GNU C++ |
Y |
Kylin |
|
QtCreator(ft_Linux) |
Qt5.6.1 |
N |
Kylin |
|
Java(ft_Linux) |
OpenJDK8 |
N |
Kylin |
下图是Windows 7计算机的仿真状态图,包括KY-RTI和4个仿真成员。

图9.11 Windows 7仿真系统
下图是银河麒麟计算机的仿真状态图,包括3个仿真成员。

图9.12 银河麒麟仿真系统
KY-RTI的Linux、Windows版本和源码请联系作者:walt_lbq@163.com
KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具
KY-RTI分布仿真技术:第七章 Visual C++程序设计
KY-RTI分布仿真技术:第八章 Visual C#程序设计
KY-RTI分布仿真技术:第十一章 人工智能大模型仿真--低空无人机巡逻实战示例
KY-RTI分布仿真技术:第十二章 HLA联邦保存与恢复--物流联合仿真中的热恢复与冷恢复
KY-RTI分布仿真技术:附录1 分组聊天(HLA数据分发管理的应用)
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)