【问题标题】:How to upgrade REDHAWK SDR framework to support SCA 4.1 specification(Software Communication Architecture)如何升级 REDHAWK SDR 框架以支持 SCA 4.1 规范(软件通信架构)
【发布时间】:2019-07-05 06:39:08
【问题描述】:

我正在浏览 REDHAWK SDR 框架的源代码,并希望升级它以支持 SCA 4.1 规范。它已经部分符合 SCA 2.2.2 版本。

我有 SCA 4.1 接口的 IDL 描述,并使用带有 C++ 映射的omniORB IDL 编译器编译它们。骨架和存根代码已正确生成。现在我想了解如何执行以下操作:

  1. 在哪里放置这些生成的骨架和存根代码 REDHAWK 源代码。

  2. 根据这些骨架放置服务器和客户端代码的位置 和 redhawk 源代码中的存根代码

  3. 我还想升级到 SCA 4.1 中指定的日志记录,可通过链接 https://www.omg.org/spec/LtLOG/1.1/PDF 获得。在这里,我再次生成了骨架和存根代码,但不知道如何进一步进行。

  4. 我错过了什么(或很多)。

任何指针都会有所帮助。请询问我未包含的任何信息,因为我也处于学习阶段。

【问题讨论】:

    标签: idl redhawksdr omniorb


    【解决方案1】:

    REDHAWK 是 SCA 2.2.2 的扩展,而不是它的实现。正因为如此,IDL 并不是一个完整的行为的一对一映射,所以即使在切换接口时,您也会遇到底层行为不匹配的问题。此外,REDHAWK 扩展了 XML 配置文件,将复杂的基本类型和序列等内容作为结构的成员包括在内,这不是 SCA 4.1 的一部分。

    您还建议将日志记录从 log4cxx/log4j 切换到 cos 轻量级日志记录。日志记录嵌入在几乎整个代码库的基类中,替换它将是一个巨大的挑战

    作为您正在考虑的努力程度的指南,请查看:https://github.com/Geontech/sca-jtnc。该项目修改了 REDHAWK 以实现 Python 沙箱、代码生成器、设备/组件基类的子集以及将 REDHAWK 项目转换为 SCA 4.1 项目的转换器的 SCA 4.1 规范。它必须从 REDHAWK 导入多个接口,并且不包括任何系统服务(如域管理器)或对 IDE 的任何更新。该项目可以为您提供一个工作起点,让您朝着正确的方向前进,它还应该让您深入了解变革所需的努力程度。

    【讨论】:

    • “REDHAWK 是 SCA 2.2.2 的扩展”——是的,我同意你的观点。 REDHAWK 使用 REDHAWK XML 配置文件、bulkio、burstio 类的附加功能来实现 SCA 2.2.2 来列举一些。所以从这个意义上说,它绝对是一种延伸。请记住这一点并查看您提供的链接“github.com/Geontech/sca-jtnc”——该项目基本上适用于根据 SCA 4.1 的设备和组件,它只能在 SANDBOX 中工作以及用于从 SCA 2.2.2 到 redhawk 项目的转换SCA4.1里面可以作为起点。无论如何,我非常感谢您的回复
    【解决方案2】:

    编写一个非常简单的 CosLwLogService 实现是相当容易的,它只支持 write_records 和 write_record。我选择写一个作为 log4cxx 的前端。这允许应用程序进行标准 CosLwLog 调用,并将条目打印到 redhawk 核心框架使用的同一日志文件(或在 log4cxx 允许的情况下重定向)。我直接在我的平台设备和服务中使用 log4cxx 调用,但这允许 SCA 应用程序仅使用标准 CosLwLog 调用。当然,支持 CosLwLog 更复杂的功能需要做更多的工作,但 SCA 应用程序并不经常需要这些功能。

    【讨论】:

      猜你喜欢
      • 2013-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-02
      相关资源
      最近更新 更多