您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
DDS(data distribution service,数据分发服务 )简介
 
译者:Anna
   次浏览      
 2020-10-13 
 
编辑推荐:

文章主要介绍了DDS高级数据中心接口取代了以消息为中心的编程和基本技术概念等相关内容。
来自于dds-foundation.org,由火龙果软件Anna译、推荐。

什么是DDS ?

工业物联网成熟的数据连接标准

数据分发服务(DDS™)是一个由对象管理组(OMG)发布的以数据为中心的中间件协议和API标准。DDS集成系统中的各个组件,提供低延迟数据连接、高可靠性以及高可扩展体系结构,以适应商业级物联网(IoT)应用程序的需求。

在分布式系统中,中间件是位于操作系统和应用程序之间的软件层。它使系统的各个组件能够更轻松地通信和共享数据。它简化了分布式系统的开发,让软件开发人员专注于其应用程序的特定用途,而不是在应用程序和系统之间传递信息的机制。

DDS中间件是一个软件层,它将应用程序从操作系统,网络传输和低级数据格式的详细信息中抽象出来。以不同的编程语言提供了相同的概念和API,从而允许应用程序跨操作系统,语言和处理器体系结构交换信息。底层细节,如数据线格式、发现、连接、可靠性、协议、传输选择、QoS、安全性等都由中间件管理。

数据中心(Data Centricity)

DDS提供了Qos控制的数据共享。应用程序通过发布和订阅由其主题名称标识的主题进行通信。订阅可以指定时间和内容过滤器,并且仅获取在主题上发布的数据的子集。不同的DDS域彼此完全独立。DDS域之间没有数据共享。

有间件许多通信中标准和产品。DDS以数据为中心,是工业物联网的理想之选。大多数中间件通过在应用程序和系统之间发送信息来工作。以数据为中心确保所有消息都包含应用程序理解其接收的数据所需的上下文信息。

以数据为中心的本质是DDS知道它存储哪些数据并控制如何共享该数据。使用传统的以消息为中心的中间件的程序员必须编写发送消息的代码。程序员使用以数据为中心的中间件编写代码,该代码指定如何以及何时共享数据,然后直接共享数据值。DDS无需管理应用程序代码(您的代码)中的所有这些复杂性,而是直接为您实现受控,托管,安全的数据共享。

全局数据空间 (Global Data space)

从概念上讲,DDS会看到一个本地数据存储,称为“全局数据空间”。对于应用程序,全局数据空间看起来像是通过API访问的本地内存。您写入看起来像本地存储的内容。实际上,DDS发送消息以更新远程节点上的适当存储。您从看起来像本地存储的地方阅读。

在DDS域内,信息共享的单元是“主题”中的数据对象。该主题由其名称标识,数据对象由一些“键”属性标识。这类似于如何使用关键属性来标识数据库中的记录。这是概念图。DDS进行点对点通信,不需要服务器或云来代理数据。

总之,本地存储给应用程序带来了访问整个全局数据空间的错觉。这只是一种幻想;没不存在所有数据都存在的全局位置。每个应用程序仅在本地存储所需的内容,并且仅存储所需的时间。DDS处理动态数据;全局数据空间是一个虚拟概念,实际上只是本地存储的集合。在任何系统上运行的几乎所有语言的每个应用程序都以最佳本机格式查看本地内存。全局数据空间通过任何传输方式在嵌入式,移动和云应用程序之间共享数据,而与语言或系统无关,并且延迟极低。

服务质量(Quality of service)

数据还可以通过灵活的服务质量(QoS)规范共享,包括可靠性,系统运行状况(活动性),甚至安全性。在实际系统中,并非每个其他端点都需要本地存储中的每个项目。DDS在发送所需信息方面很聪明。如果消息不总是到达预期的目的地,则中间件将在需要的地方实现可靠性。当系统发生变化时,中间件会动态地找出将哪些数据发送到何处,并智能地将更改通知参与者。如果总数据量巨大,则DDS会智能过滤并仅发送每个端点真正需要的数据。当需要快速更新时,DDS发送多播消息以立即更新许多远程应用程序。随着数据格式的发展,DDS跟踪系统各个部分使用的版本并自动翻译。对于安全性至关重要的应用程序,DDS可控制访问,强制执行数据流路径并实时加密数据。

当您同时指定所有这些东西时,DDS的真正威力就会显现出来,在一个非常动态、要求极高和不可预测的环境中,您可以同时使用这些东西。

动态发现(Dynamic Discovery)

DDS提供发布者和订阅者的动态发现。动态发现使您的DDS应用程序可扩展。这意味着应用程序不必知道或配置用于通信的端点,因为它们是DDS自动发现的。这可以在运行时完成,而不必在设计或编译时完成,从而为DDS应用程序实现真正的“即插即用”。

这种动态发现比发现端点更进一步。DDS将发现端点是否正在发布数据,订阅数据,或者两者都是。它将发现正在发布或订阅的数据的类型。它还将发现发布者提供的通信特征和订阅者请求的通信特征。在动态发现和匹配DDS参与者时,将所有这些属性都考虑在内。

DDS参与者可以在同一台机器上,也可以跨网络:该应用程序使用相同的DDS API进行通信。由于无需知道或配置IP地址,也无需考虑机器体系结构的差异,因此在任何操作系统或硬件平台上添加额外的通信参与者就变得很容易,几乎是微不足道的。

可扩展架构(Scalable Architecture)

DDS系统的范围从Edge到Fog再到Cloud。在边缘,它们可用于高速实时机器到机器的通信。在中间系统内,它们可以提供成熟,可靠的QoS和内容感知信息流。集成这些系统DDS可以一直扩展到云以及在云内扩展信息的访问和分发。

OMG DDS体系结构设计为可从小型设备扩展到云端,并且适用于非常大的设备系统.DDS通过扩展数千或数百万参与者,以超高速传输数据,管理成千上万的数据对象来实现物联网,并提供极高的可用性和安全性。DDS通过吸收单个标准通信层中的许多复杂性,简化了分布式系统的开发。

安全(Security)

保护任务关键型工业物联网环境需要跨系统和供应商从边缘扩展到云的安全性。

DDS包括为信息分发提供身份验证,访问控制,机密性和完整性的安全机制。DDS安全性使用分散的对等体系结构,在不牺牲实时性能的情况下提供安全性。

为什么选择DDS?

工业物联网和消费物联网的性能、可扩展性、稳健性、可靠性和Qos(Performance、Scalability、Robustness、Reliability、and QoS for Industrial IoT & Cosumer IoT )

OMG-DDS标准针对需要实时数据通信交换的高性能、高可扩展的工业物联网(IoT)和大规模消费物联网应用环境进行了优化。它已经在智能交通、医疗保健、智能能源等行业的关键任务系统中得到充分证明。

建立在DDS之上的行业标准(Industry standards built on top of DDS)

DDS是其他行业标准的基础,包括OpenFMB,自适应AUTOSAR,MD PnP,GVA,NGVA和ROS2。

DDS适合你吗?(Is DDS Right for you?)

基于DDS在数千个应用中的应用,我们可以预测新项目中对DDS的需求。如果对以下任何一个问题回答“是”,那么DDS可能是您项目中最好的连接框架技术。

您是否存在延迟、网络带宽/吞吐量或扩展问题,因为您测量的延迟在毫秒或更少,或者您有10多个不同的应用程序,或者您有超过1000个数据项要共享?

如果系统离线5分钟(甚至5毫秒),这是一个严重的问题吗?您是否在配置、启动或故障切换到备份服务器时遇到困难?

您是否正在构建一个系统,该系统将花费一年多的时间编写,持续超过三年的时间,并且有望通过多个版本或与旧版应用程序集成?

这些问题可帮助您确定关键的性能,可靠性和集成需求。如果您对以上任何一个问题的回答为“是”,那么您应该将DDS作为一种解决方案进行评估,因为它具有许多其他优点。

DDS的主要优势(Key Advantage of DDS)

OMG DDS中间件标准帮助用户可靠和安全地利用不断增加的设备生成的数据量,同时实时处理数据,并在事件发生时尽快采取行动。因此,它可以实现更明智的决策,提供新的服务,增加收入来源,并降低成本。OMG DDS中间件标准还可以简化物联网的开发,部署和管理,加快上市时间。它提供:

易于集成: DDS使用的以数据为中心的方法允许为无缝信息技术(IT)/操作技术(OT)的互操作性定义通用和可扩展的数据模型。它松散的匿名数据共享抽象完全隐藏了应用程序的连接和拓扑细节。

性能效率和可扩展性: DDS实现可以实现低至30μs的点到点延迟。以及每秒数百万条消息的吞吐量。它使用了非常有效的有线协议,基于内容和时间的过滤。如果设计得当,基于DDS的系统可以实现近乎线性的可扩展性。

高级安全性: OMG DDS安全规范为兼容的DDS实现定义了一个全面的安全模型和服务插件接口(SPI)体系结构。DDS提供标准化的身份验证,加密,访问控制和日志记录功能,以实现IoT系统中端对端的安全数据连接。

开放标准: OMG DDS中间件规范是一种成熟的,经过验证的标准,可供供应商和用户参与。它支持端到端供应商的互操作性,并通过完全开放的、将来证明的API(不带供应商锁-n)来简化物联网系统的开发和集成。

启用QoS:一组丰富的QoS策略允许DDS控制数据分发的所有方面,例如及时性,流量优先级,可靠性和资源使用情况。

可扩展的发现:对于大型动态系统,DDS提供了自动发现功能,该功能提供即插即用功能,以简化系统集成和编排。

适用范围: DDS可以透明地解决点对点,设备到设备,设备到云以及云到云通信的问题。实施可用于嵌入式,移动,Web,企业和云应用程序。

其他技术优势(Additional Techncal Advantage)

编程语言,操作系统,传输和硬件无关

可配置的冗余,以实现极其可靠的操作

支持可扩展的多播数据传送

标准网络协议,可实现无缝的跨供应商应用程序的互操作性

数据选择和过滤以确保网络和CPU资源的有效利用

可扩展的数据类型演进,可面向长生命周期的实用架构

在关键任务系统(mission-critical system)中得到实际验证

消除“烟囱式”软件孤岛的面向未来的国际标准

DDS与其他物联网技术相比如何(How Does DDS Compare to other IoT Technologies?)

DDS在数据中心性、QoS、安全性、发现等方面优于传统的消息传递解决方案

为消费者物联网(IoT)和工业物联网设计的应用程序必须能够有效地扩展和安全地共享数据。然而,这两种类型的物联网应用的系统需求有质的区别:

消费和工业物联网应用的系统要求的定性比较

资料来源:Cutter Journal 2014年12月

消费者和工业物联网具有许多相同的要求。但是,每个要求具有相对不同的相对重要性。例如,工业物联网应用必须处理高数据率的单类数据(high individual data rates)。单一来源(例如飞机发动机)会产生大量数据。消费者物联网应用通常不处理高单个数据速率。但是,所有物联网应用程序都必须处理大量聚合数据(high aggregated volumes of data)。

不同协议的比较(Different Protocols)

物联网应用通常考虑使用几种专门的消息传递/数据共享协议,包括

消息队列遥测传输(MQTT),一种依赖于代理的发布/订阅消息传递协议,设计用于TCP/IP

高级消息队列协议(AMQP),它定义了在两个网络进程(通常是客户端和代理)之间传输消息的有效的二进制对等协议

约束应用协议(CoAP)是一种软件协议,旨在支持简单的低功耗电子设备(例如无线传感器)与基于互联网的系统的连接

下表提供了上述技术的比较。这些物联网协议中有许多是为简化而设计的,因此只能支持非常有限的一组用例。另一方面,DDS是功能丰富的标准,可以透明地处理IoT系统的许多数据连接复杂性,因此简化了开发人员的工作。

DDS:正确的选择(DDS:The Right Choice )

许多真实的系统包括设备,服务器,移动节点等等。他们有不同的沟通需求,但是在可能的情况下使用单一的沟通模式会更好,更轻松。系统设计者应确定哪种协议满足其预期的主要应用场景。然后,将该主要协议扩展应用到系统的其他设备和软件中。

例如,设备间数据使用与设备数据收集是不同的用例场景。打开电灯开关的要求(最好是使用CoAP)与管理该电源的生成(最好是使用DDS),监视传输线(最好使用MQTT)或在数据中心内通信电源使用(最好使用AMQP)的要求有很大不同。

总体而言,DDS是这些协议中最通用的。它可以管理微型设备,连接大型高性能传感器网络,并对时间要求严格的控制回路。它还可以应用于云端服务,并从云端接收数据。

DDS通信是点到点对等的。消除消息代理和服务器简化了部署,最小化了通信延迟,最大化了可扩展性,提高了可靠性,并降低了成本和复杂性。使用DDS确实需要构建一个数据模型并理解以数据为中心的原理。DDS非常适合需要持久、可靠、高性能体系结构的物联网应用。

DDS的技术优势

简化工业级物联网及消费级物联网系统的设计、开发和集成(Simplify Design, Implementation, and Integration of Industrial and Consumer IoT Systems)

DDS使用全局数据空间,允许应用程序在可靠性、实时性完全可控的情况下共享信息。DDS中间件全面负责数据的分发(从生产者到消费者),以及数据的管理(例如为后期加入的应用程序维护非易失性(non-volatile)数据)。在物联网系统的整个生命周期中,降低复杂性的好处显而易见。

简化建模和设计(Simplify Modeling and Design )

在建模和设计过程中,DDS允许您:

使用主题和类型以结构化,标准化的方式捕获特定于域的信息

用服务质量(qualityofservice,QoS)策略对这些信息(其语法)进行注释,这些策略是非功能性属性,定义了时间、紧急性、可靠性和持久性等特殊和临时属性

由此得到的DDS信息模型非常有价值。开发人员可以使用它来帮助构建可重用的软件组件。您还可以使用它与最终用户共享系统属性和需求。

简化开发(Simplify Development )

在开发过程中,DDS允许您:

处理任何应用程序的数据输入和输出,使开发人员专注于业务逻辑,而不需要花费精力实现数据提供者和数据使用者之间的连接关系(包括时间、位置、内容等)

根据类型构造数据,使应用程序对所需数据表达细粒度的兴趣(及时性,内容);传统的面向消息的中间件只能处理不透明的消息,而不能过滤数据。

以容错方式管理非易失性(non-volatile)数据;如果应用程序使用DDS发布其内部状态信息,它们可以很容易变得既可重新启动(re-startable)又可重新分配(re-allocatable)。

在冗余发布者之间无缝仲裁,并支持冗余使用者;它有助于自动故障转移,而又不会增加应用程序的复杂性。

80%的典型网络代码专用于处理数据选择和错误。DDS通过将这种复杂性从应用程序代码中抽象出来,从而加快了开发速度。

简化系统集成(Simplify System Integration )

系统集成取决于数据可用性。在此过程中,DDS允许您:

自动发现数据源和数据接收者,并确保数据生成者满足QoS要求,以便在正确的时间将正确的数据提供到正确的位置。

使用配置和监视实用程序,通过配置逻辑DDS属性(紧急程度、重要性、分区)和物理属性(优先级通道、调度类、多播组)之间的(动态)映射,在不影响应用程序的情况下,实现最佳的部署。

系统集成本质上是DDS的免费好处。无处不在的信息可用性允许自发集成,包括动态发现和相关的QoS匹配。

简化系统部署和演进(Simplify System Deployment and Evolution)

在集成新的和遗留的元素时,复杂的系统为部署带来了挑战。DDS允许您:

采用以数据为中心的方法,通过简单而强大的信息模型,实现空间(位置)和时间(频率)依赖性的解耦。

在运行时确认并集成新的和计划外的应用程序,而又不影响现有的数据模型,从而能够将新功能自发地集成到系统中。

识别并转换新旧版本与应用程序之间不匹配的数据类型,以实现大型分布式系统的增量升级。

以数据为中心的方法和共享数据模型所包含的抽象手段加快了开发速度,并实现了动态部署和渐进式升级。

简化安全性(Simplify Security)

DDS支持无缝安全性。在正常操作期间,DDS通过名称或值查找数据并建立连接。 Secure DDS仅记录并执行这些关系。它允许您:

使用标准的DDS API重新链接并指定允许的数据流,以创建一个无需任何编码的安全系统。

启用安全多播系统,因为DDS支持多对多会话。

通过记录主题名称和关系(配置),并强制命名发布者和命名订阅者之间的数据流,实现访问控制。

从根本上说,DDS控制数据本身,而不控制用户,机器,端点或其他非以数据为中心的实体。

DDS如何工作?

高级数据中心接口取代了以消息为中心的编程(High Level Data-Centric Interfaces Replace Message-Centric Programming)

DDS的主要目标是在正确的时间在正确的位置共享正确的数据,即使在时间不相关的发布者和消费者之间也是如此。DDS通过仔细复制逻辑共享数据空间的相关部分来实现全局数据空间。

并非所有数据都无处不在。中间件应该只提供消费者真正需要的数据。基于兴趣的过滤可以应用于内容和数据速率。通过适当的实施,DDS可以节省带宽,提升处理能力,并最大程度地降低整体应用程序的复杂性。

作为以数据为中心的解决方案,DDS可以了解共享数据的架构。这使它能够根据内容、期限和/或生命周期进行筛选,从而只为应用程序提供所需的数据。例如DDS可以使应用软件只向外发送锅炉温度300的数据(内容过滤器),每秒最多更新10次(速率)。在许多系统中,这种有效的方法通常可以节省90%的数据通信开销。

正确的位置(The Right Place)

数据必须在需要的地方可用,以促进自动形成系统。DDS分发和维护数据,以便随时可用。

DDS动态发现发布者和订阅者,他们要共享的数据类型以及相关的服务质量(QoS)。匹配成功后,DDS根据QoS进行数据分发。它为每个发布者-订阅者对之间的每个数据流实现了一个QoS强制逻辑通道。DDS订阅者可以确定其对应的发布者是否存活,并且可以传递所产生的任何数据。这大大简化了应用程序开发和错误处理。

实时系统与现实世界进行交互。数据必须按时可用–时延过长的正确数据是将导致故障。数据在优先级,可靠性,时序和其他非功能属性方面有所不同。DDS平衡了稀缺资源的利用以在适当的时间分发数据。

DDS中间件使用应用程序在运行时设置的逻辑QoS策略来平衡效率和确定性。QoS约束确保了这些时序关系。例如,如果订阅者每10毫秒要求更新一次,而与其匹配的发布者不进行发送,则系统会报错,从而启用补救措施。QoS策略涵盖许多特征,包括紧急程度,重要性,可靠性,持久性和生动性。

基本技术概念(Underlying Technical Concepts)

关系数据建模:DDS以类似于关系数据库的方式处理数据。它可以通过结构相关的主题(使用关键字段)来管理数据,并允许对内容和时间进行临时查询和过滤,以便应用程序可以根据需要提取特定数据。

发布-订阅消息传递:DDS使用发布/订阅模式、动态发现机制,管理相关DDS实体(包括发布者、订阅者、持久性服务、记录和重放服务以及连接的数据库)之间的数据流。请求-回复和其他模式都建立在这种强大的基础上。

可靠的多播: DDS标准有线协议在普通UDP套接字上实现了可靠的多播,使系统可以从现代网络基础架构中高效受益。

生命周期意识:与以消息为中心的产品不同,DDS为应用程序提供信息生命周期可感知的支持。例如,它检测,通信并通知应用程序有关数据(主题实例)更新的第一次和最后一次出现。这有助于及时响应新的和过时的信息。

触发模式:DDS提供了多种触发模式,这些模式随订阅信息的更新而变化。示例包括轮询,回调(对于GUI而言是典型的)和WaitSet(类似于Unix“ select”,以提供对优先处理选择性触发事件的完整应用程序控制)。

DDS与其他物联网技术相比如何

DDS在数据中心性、Qos、安全性、发现等方面优于传统的消息传递解决方案(DDS outperforms traditional messaging solutions in Data Centricity,Qos ,Security,Discovery and more)

不同的物联网(Different Internets of Things)

专为消费级物联网(IoT)和工业级物联网设计的应用程序必须能够有效扩展和安全共享数据。但是,对于这两种类型的物联网应用程序,系统要求在质量上存在差异:

图形

消费和工业物联网应用的系统要求的定性比较

资料来源:Cutter Journal 2014年12月

消费者和工业物联网有许多相同的要求。然而,每一个需求都有非常不同的相对重要性。例如,工业物联网应用必须处理高单个数据速率。单一来源(例如飞机发动机)会产生大量数据。消费者物联网应用通常不处理高单个数据速率。然而,所有物联网应用程序必须处理高聚合量的数据。

不同的协议(Different Protocols)

物联网应用通常考虑使用几种专门的消息传递/数据共享协议,包括

消息队列遥测传输(MQTT),一种依赖于代理的发布/订阅消息传递协议,设计用于TCP/IP

高级消息队列协议(AMQP),它定义了一种高效的二进制对等协议,用于在两个网络进程(通常是客户端和代理)之间传输消息

约束应用协议(CoAP)是一种软件协议,旨在支持简单的低功耗电子设备(例如无线传感器)与基于Internet的系统的连接

下表比较了上面列出的技术。这些物联网协议中有许多是为简化而设计的,因此只能支持非常有限的一组用例。另一方面,DDS是功能丰富的标准,可以透明地处理IoT系统的许多数据连接复杂性,因此简化了开发人员的工作。

DDS:正确的选择(DDS:The Right choice)

许多真实的系统包括设备,服务器,移动节点等等。他们有各种各样的沟通需求,但是在可能的情况下使用单个沟通范例会更好,更轻松。系统设计者应确定哪种协议满足其预期应用程序的主要挑战。然后,如果可能,将该主要选择扩展到系统的所有方面。

例如,设备间数据使用与设备数据收集是不同的用例。打开电灯开关的要求(最好是使用CoAP)与管理该电源的产生(最好是使用DDS),监视传输线(最好使用MQTT)或在数据中心内通信用电的要求(最好搭配AMQP)。

总体而言,DDS是这些协议中功能最丰富的。它可以管理小型设备,连接大型高性能传感器网络并关闭对时间要求严格的控制回路。它还可以从云服务和接收数据。

DDS通信是对等的。消除消息代理和服务器可简化部署,最小化延迟,最大化可伸缩性,提高可靠性并降低成本和复杂性。使用DDS确实需要建立数据模型并了解以数据为中心的原理。它是需要持久,可靠,高性能架构的物联网应用的理想选择。

DDS标准中有什么?

开放国际数据中心连接标准(Open International Data-Centric Connectivity Standard)

DDS拥有一个活跃而充满活力的社区,不断致力于扩展其适用性。DDS标准当前包括以下内容:

高性能,可扩展,安全且以数据为中心的发布/订阅抽象

具有动态发现服务的完全去中心化的体系结构,可自动在匹配对等体之间建立通信

丰富的服务质量(QoS)特性,可控制数据分发的各个方面,如数据可用性、资源使用率、可靠性和定时

可互操作的数据共享,独立于平台的可扩展数据建模,编码和表示

RPC,安全性,资源受限的设备,Web集成和OPC UA集成的最新扩展

OMG DDS标准(OMG DDS Standard)

核心

DDS v1.4 – DDS规范描述了用于分布式应用程序通信和集成的以数据为中心的发布-订阅(DCPS)模型。

DDSI-RTPS v2.3 –定义了实时发布-订阅协议(RTPS)DDS互操作性有线协议。

实施由OMG分配的RTPS供应商ID标识

DDS-XTypes v1.3 –定义了DDS类型系统和DDS数据的序列化表示。

DDS-Security v1.1 –为兼容的DDS实现定义安全模型和服务插件接口(SPI)体系结构。

类型语法和语言映射(IDL)

IDL4(接口定义语言)v4.2 (也可作为ISO标准ISO / IEC 19516:2020获得)–定义IDL,IDL是一种用于以独立于编程语言的方式定义数据类型和接口的语言。这不是DDS标准,但DDS依赖于此。

IDL4-JAVA –定义IDL4类型到Java语言的映射。

IDL4-C# –定义IDL4类型到C#语言的映射。

API

DDS C ++ API(用于DDS的ISO / IEC C ++ 2003语言PSM) –仅为DDS规范的以数据为中心的发布-订阅(DCPS)部分定义了C ++ API。

DDS Java API(用于DDS的Java 5语言PSM) –为DDS规范的以数据为中心的发布-订阅(DCPS)部分定义了Java API。

其他语言API –用于C,Java,传统C ++,ADA,C#和其他语言的API是使用相应的IDL到语言映射从IDL中的DDS API派生的。

扩展名

DDS-RPC v1.0 –定义了一个分布式服务框架,该框架提供了独立于语言的服务定义以及使用DDS进行的服务/远程过程调用。支持自动发现,同步和异步调用以及Qos。

DDS-XML v1.0 –定义用于表示DDS相关资源的XML语法。提供用于DDS服务质量(Qos),DDS数据类型和DDS实体(DomainParticipant,主题,发布者,订阅者,DataWriters和DataReaders)的XSD架构文件。

DDS-JSON v1.0 –定义用于表示DDS相关资源的JSON语法。为DDS服务质量(Qos),DDS数据类型,DDS数据和DDS实体(域参与者,主题,发布者,订阅者,DataWriters和DataReaders)提供JSON模式文件。

网关

DDS-WEB v1.0 –定义了与平台无关的抽象交互模型,该模型描述了Web客户端应如何访问DDS系统以及到特定Web平台的一组映射,这些映射根据标准Web技术和协议实现了平台独立模型(PIM)。 。

DDS-OPCUA v1.0 –定义了一个标准的,可配置的网关,该网关可在使用DDS的系统与使用OPC UA的系统之间实现互操作性和信息交换。

DDS-XRCE v1.0 –定义资源受限的低功耗设备(客户端)使用的协议,以将数据发布和订阅到DDS域。XRCE协议将XRCE客户端连接到充当DDS域网关的DDS代理。

工作正在进行中

DDS-TSN –定义了一组机制,以允许DDS部署在时间敏感网络(TSN)上并加以利用。定义DDSI-RTPS协议到TSN传输的映射。

DDSI-RTPS TCP / IP PSM –定义DDSI-RTPS协议到TCP / IP传输的映射。

DDS C#API –为DDS规范的以数据为中心的发布-订阅(DCPS)部分定义了C#API。

DDS和CORBA是两个独立的连接标准,可实现信息交换,而与位置,硬件平台,编程语言或操作系统不同。

它们都提供了应用程序可移植性(使用标准语言界面)和网络互操作性。DDS和CORBA都是由Object ManagementGroup(OMG)开发的。但是,它们旨在支持不同的用例和集成模式。

DDS主要支持发布-订阅数据分发。它还支持远程过程调用(RPC),可扩展类型系统,Qos和细粒度的安全性。DDS与传输无关:它可以在UDP / IP,TCP / IP,共享内存或其他传输上运行。

CORBA系列标准支持对分布式对象的远程方法调用。CORBA使用TCP / IP,SSL / TLS或其他传输方式。CORBA支持实时和嵌入式系统。

尽管DDS和CORBA标准是独立的,但它们都利用OMG接口定义语言(IDL)来指定数据和服务类型。这允许应用程序对DDS和CORBA交互使用相同的数据类型。

其他标准中的DDS

AUTOSAR自适应 。从18.03版本开始,AUTOSAR自适应平台将DDS作为网络绑定支持。

通用图像生成器接口(CIGI)。CIGI下一步将建立在DDS上作为接口。

通用车辆架构(GVA) 。英国MoD GVA(DEF STAN 23-09)需要DDS。

地面开放式系统架构(LOSA)。英国MoD GVA是LOSA的一部分,因此需要使用DDS。

北约通用车辆架构(NGVA)。GVA(NGVA)标准的北约版本(STANAG 4754)需要DDS。

对象管理组(OMG)警报管理服务(ALAMS)。支持DDS作为特定于平台的模型。

对象管理组(OMG)应用程序管理和系统监视(AMSM)。支持DDS作为特定于平台的模型。

开放团体的未来机载能力环境(FACE)。DDS是所有FACE认证合格服务部门(TSS)的一部分,包括ADLINK和Real-Time Innovations链接

开放组传感器开放系统架构(SOSA) 。SOSA已将FACE TSS用作其传输层。

开放式机器人 机器人操作系统V2(ROS2)。ROS2建立在DDS之上,作为连接框架。

战术微电网标准协会(TMSC)。TMSC需要DDS进行通信。

无人系统(UxS)控制段(UCS)体系结构。UCS体系结构支持DDS。大多数UCS实现使用DDS。

   
次浏览       
 
相关文章

UML概览
UML图解:用例图(Use case diagram )
UML图解:活动图(activity diagram )
UML图解:类图(class diagram )
UML图解:对象图(object diagram)
UML图解:顺序图( sequence diagram )
 
相关文档

模型跟踪:跟踪图、矩阵、关系(建模工具EA)
自定义表格(Custom Table)在EA中的使用
元素的详情浏览控制
UAF 1.2规范解读(DMM 和 UAFML )
EA中支持的各种图表
EA中的界面原型建模
 
相关课程

UML与面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模
基于模型的需求管理
业务建模 & 领域驱动设计
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
iPerson的过程观:要 过程 or 结果
“以人为本”的工程哲学
企业架构、TOGAF与ArchiMate概览
UML 图解:顺序图( sequence diagram )
UML 图解:对象图( class diagram )
最新课程
基于UML和EA进行系统分析设计
UML+EA+面向对象分析设计
基于SysML和EA进行系统设计与建模
UML + 嵌入式系统分析设计
领域驱动的建模与设计
更多...   
成功案例
某电信运营供应商 应用UML进行面向对象分析
烽火通信 UML进行面向对象的分析设计
西门子 UML与嵌入式软件分析设计
航天科工某子公司 从系统到软件的分析、设计
深圳某汽车企业 模型驱动的分析设计
更多...