OpenDDS开发者指南
OpenDDS版本3.12
由Object Computing,Inc.(OCI)支持
http://www.opendds.org HTTP:
//www.objectcomputing.com
目录
前言 ...................................................................................................... vi
第1章
介绍 ......................................................................................... 1
DCPS概述 ................................................................................................................................................................ 2
基本概念 .......................................................................................................................................................... 2
内置主题 ...................................................................................................................................................................................... 4
服务质量政策 ................................................................................................................................................ 5
听众 ............................................................................................................................................................................. 5
条件 ............................................................................................................................................................................. 5
OpenDDS实现 ........................................................................................................................................................ 6
合规 ............................................................................................................................................................................. 6
DDS规范的扩展 ............................................................................................................................................. 7
OpenDDS体系结构 ........................................................................................................................................ 7
安装 ................................................................................................................................................................................ 11
建立启用或禁用功能 .............................................................................................................................. 12
禁用内置主题支持的构建 .................................................................................................................... 12
禁用合规性配置文件功能的构建........................................................................................................... 13
第2章
入门 ....................................................................................... 17
使用DCPS ............................................................................................................................................................. 17
定义数据类型 ............................................................................................................................................. 18
处理IDL ......................................................................................................................................................... 18
O p e n D D S D e v e l o p e r ’ s G u i d e
i
简单的消息发布者 ................................................................................................................................... 20
设置订阅者 .................................................................................................................................................. 24
数据读取器监听器实现 ......................................................................................................................... 26
在OpenDDS客户端清理 ........................................................................................................................... 27
运行示例 ....................................................................................................................................................... 28
用RTPS运行我们的例子 ......................................................................................................................... 29
数据处理优化 ................................................................................................................................................... 31
在发布服务器中注册和使用实例 ..................................................................................................... 31
读取多个样本 ............................................................................................................................................. 31
零拷贝读取 .......................................................................................................................................................... 32
第3章
服务质量 .................................................................................. 35
介绍 ................................................................................................................................................................................ 35
QoS策略 ............................................................................................................................................................... 36
默认QoS策略值 ......................................................................................................................................................... 36
生动活泼............................................................................................................................................... 40
可靠性 ............................................................................................................................................................ 41
历史 ................................................................................................................................................................. 42
耐久性 ............................................................................................................................................................ 43
DURABILITY_SERVICE .......................................................................................................................... 44
RESOURCE_LIMITS .......................................................................................................................... 44
划分 .............................................................................................................................................................................................. 45
截止日期 ....................................................................................................................................................... 45
寿命 .................................................................................................................................................................................. 46
用户数据 ............................................................................................................................................................... 46
TOPIC_DATA ....................................................................................................................................................... 47
GROUP_DATA ..................................................................................................................................................... 47
的transport_priority ......................................................................................................................... 47
LATENCY_BUDGET ................................................................................................................................. 48
ENTITY_FACTORY ........................................................................................................................................... 50
介绍 ......................................................................................................................................................................... 51
DESTINATION_ORDER .......................................................................................................................... 52
WRITER_DATA_LIFECYCLE ................................................................................................................ 52
READER_DATA_LIFECYCLE ................................................................................................................ 53
TIME_BASED_FILTER............................................................................................................................. 53
所有权 ............................................................................................................................................................ 54
OWNERSHIP_STRENGTH ..................................................................................................................... 54
O p e n D D S D e v e l o p e r ’ s G u i d e
ii
政策示例 ...................................................................................................................................................................... 54
第四章
条件和听众 ............................................................................... 57
介绍 ................................................................................................................................................................................ 57
通信状态类型 ................................................................................................................................................... 58
主题状态类型 ...................................................................................................................................................... 58
订户状态类型 ............................................................................................................................................. 59
数据读取器状态类型 .............................................................................................................................. 59
数据写入器状态类型 .............................................................................................................................. 62
听众 ................................................................................................................................................................................ 63
主题监听器 ........................................................................................................................................................... 65
数据写入器监听器 ................................................................................................................................... 65
发布者监听器 ...................................................................................................................................................... 65
数据读取器监听器 ................................................................................................................................... 65
用户监听器 .................................................................................................................................................. 65
域参与者监听器 ................................................................................................................................................. 66
条件 ................................................................................................................................................................................ 66
状态条件 ....................................................................................................................................................... 66
附加条件类型 ...................................................................................................................................................... 67
第五章
内容订阅配置文件 ....................................................................... 69
介绍 ................................................................................................................................................................................ 69
内容过滤的主题 ......................................................................................................................................................................... 70
筛选表达式 .................................................................................................................................................. 71
内容过滤主题示例 ............................................................................................................................................ 72
查询条件 ...................................................................................................................................................................... 72
查询表达式 ........................................................................................................................................................... 73
查询条件示例 ...................................................................................................................................................... 73
多主题 ............................................................................................................................................................................................... 74
主题表达式 ........................................................................................................................................................... 75
使用说明 ....................................................................................................................................................... 76
多主题示例 ........................................................................................................................................................... 77
第六章
内置主题 ....................................................................................... 81
介绍 ................................................................................................................................................................................ 81
内置的DCPSInfoRepo配置主题 ................................................................................................................ 82
DCPSParticipant主题 ................................................................................................................................................ 82
DCPSTopic主题 ................................................................................................................................................................. 82
DCPSPublication主题 .......................................................................................................................................................... 83
O p e n D D S D e v e l o p e r ’ s G u i d e
iii
DCPSSubscription主题 ............................................................................................................................................ 83
内置的主题订阅示例 ............................................................................................................................................ 84
第7章
运行时配置 ............................................................................... 85
配置方法 ...................................................................................................................................................................... 85
常用配置选项............................................................................................................................................................ 87
发现配置 ...................................................................................................................................................................... 90
域配置 .................................................................................................................................................................... 91
为DCPSInfoRepo配置应用程序 .......................................................................................................... 93
配置DDSI-RTPS发现 ................................................................................................................................ 97
配置静态发现 .......................................................................................................................................... 101
传输配置 ....................................................................................................................................................................106
概观 .......................................................................................................................................................................107
配置文件示例 .......................................................................................................................................... 108
传输注册表示例 ..................................................................................................................................... 110
传输配置选项 ...................................................................................................................................................111
传输实例选项 ...................................................................................................................................................112
记录.................................................................................................................................................................... 122
DCPS层记录 ....................................................................................................................................... 123
传输层记录 ............................................................................................................................................... 123
第八章
opendds_idl选项 ........................................................................125
opendds_idl命令行选项 ......................................................................................................................... 125
第9章
DCPS信息库 ........................................................................... 129
DCPS信息库选项 ....................................................................................................................................................129
存储库联合...............................................................................................................................................................131
联邦管理 .................................................................................................................................................... 132
联合示例 .................................................................................................................................................... 134
第十章
Java绑定 ...............................................................................137
介绍 ..............................................................................................................................................................................137
IDL和代码生成 ............................................................................................................................................. 138
建立一个OpenDDS Java项目 .................................................................................................................. 139
简单的消息发布者 ...................................................................................................................................... 141
初始化参与者 .......................................................................................................................................... 141
注册数据类型和创建主题 ............................................................................................................................. 142
创建一个发布者 ..................................................................................................................................... 142
iv
创建一个DataWriter并注册一个实例 ........................................................................................ 142
O p e n D D S D e v e l o p e r ’ s G u i d e
设置订阅者 ..................................................................................................................................................... 143
创建一个订户 .......................................................................................................................................... 143
创建一个DataReader和Listener .................................................................................................. 144
DataReader监听器实现 ............................................................................................................................ 144
清理OpenDDS Java客户端 ....................................................................................................................... 145
配置示例 .......................................................................................................................................................... 146
运行示例 .......................................................................................................................................................... 146
Java消息服务(JMS)支持 .................................................................................................................... 147
第十一章 建模SDK ............................................................................. 149
概观 ............................................................................................................................................................................. 150
模型捕获 .................................................................................................................................................... 150
代码生成 .................................................................................................................................................... 151
程序设计 ............................................................................................................................................................. 152
安装和入门 ..................................................................................................................................................... 152
先决条件 ............................................................................................................................................................. 152
安装 ....................................................................................................................................................................... 152
入门 .............................................................................................................................................................. 154
开发应用程序 ......................................................................................................................................................... 154
建模支持库 ............................................................................................................................................... 154
生成的代码 ............................................................................................................................................... 155
应用程序代码要求 ................................................................................................................................ 156
第十二章 记录器和重播器 ....................................................................... 165
概观 ............................................................................................................................................................................. 165
API结构 ............................................................................................................................................................ 166
使用模式 .......................................................................................................................................................... 166
QoS处理 ............................................................................................................................................................ 167
耐久性细节 ........................................................................................................................................................ 168
第13章
安全档案 ............................................................................... 169
概观 ............................................................................................................................................................................. 169
OpenDDS的安全配置文件子集 ............................................................................................................... 170
ACE的安全配置文件配置 ......................................................................................................................... 170
运行时配置选项 .................................................................................................................................................... 171
运行ACE和OpenDDS测试 .......................................................................................................................................... 171
在应用程序中使用内存池 ................................................................................................................................ 172
O p e n D D S D e v e l o p e r ’ s G u i d e
v
前言
什么是OpenDDS?
OpenDDS是两个对象管理组(OMG)规范的开源实现。
1) 用于实时系统的数据分发服务(DDS)v1.4(OMG Document formal / 2015-04-
10)。 本规范详细介绍了OpenDDS实现的用于实时发布和订阅应用程序的核心功
能,并在本文档中进行了描述。
O p e n D D S D e v e l o p e r ’ s G u i d e
vi