课程 3: 定义 topicStruct 并添加键属性

由于 "实时系统数据分发服务" (DDS) 应用程序共享数据,因此必须为应用程序定义共享数据。 将具有多个实例的数据结构应该具有一个或多个键属性。 键属性可区分不同实例。 在本课程中,您定义 topicStruct 元素,然后添加键属性。

关于本任务

topicStruct 是一组字段或结构,用于定义主题中的单个实例。 在其 topicStruct 具有键的情况下,主题可以由多个实例组成。 键可以是 topicStruct 中的一个字段或属性,也可以是多个字段的组合。 创建标准主题时,必须添加主题类型的名称。 对于本教程,类型为 struct。
注: 类型为 topicStruct 的元素应该在此上下文中使用,而不是类型为 idlType 的元素,因为当您设置主题的类型时, Rhapsody® 仅允许您从模型中定义的 topicStruct 元素中进行选择。

程序

  1. 定义 topicStruct:
    1. 对于在课程 2 中创建的 TopicDiagram 图,创建 topicStruct 元素: 单击绘图工具栏上的 topicStruct 图标 topicStruct 图标 ,然后单击图的绘图区域
    2. 打开 topicStruct 元素的 "特征" 窗口。 在 常规 选项卡上,将元素命名为 MyTopicStruct
    3. 属性 选项卡上,单击 <New> 以添加以下每个属性。 如果可能,请从 类型 字段中选择相应的类型。
      • myBooleanAttribute,类型为 boolean
        对于此属性,必须手动设置类型:
        1. 通过单击 "调用特征对话框" 图标 "调用功能对话框" 图标 打开属性的 "特征" 窗口
        2. 清除 使用现有类型 复选框
        3. C++ 声明 字段中,输入 boolean,然后单击 确定
      • myLongAttribute,类型为 long
      • myStringAttribute,类型为 string。 要设置类型,请使用与用于 myBooleanAttribute的方法相同的方法。
      • myDoubleAttribute,类型为 double
      • myLongSequenceAttribute,类型为 long 且多重性设置为 *。 要设置多重性,请打开此属性的 "特征" 窗口; 在 多重性 字段中,选择 *; 然后单击 确定
      属性 选项卡类似于下图。
      属性选项卡
    4. 关闭 topicStruct的 "特征" 窗口。
  2. 添加键属性:
    注: 虽然键可以是多个属性的组合,但本教程仅使用一个键属性。
    1. 在浏览器中,右键单击 MyTopicStruct topicStruct ,然后单击 添加新 > 属性
    2. 打开键属性的 "特征" 窗口。 在 常规 选项卡上,输入以下信息:
      • 将属性命名为 myKeyAttribute
      • 从构造型列表中,选择 key 构造型。
      • 将类型设置为 Int32,然后单击 确定
    在浏览器中, MyTopicStruct 类似于下图。
    具有 TopicsPkg 和 myKey属性的浏览器窗口

课程复习要点

在本课程中,您学习了如何定义 MyTopicStruct topicStruct 以及如何添加键属性。

在下一课中,您将创建一个主题。