我应该使用什么元素类型来为 SysML 中的消息及其数据元素建模?

What element type should I use to model a message and its data elements in SysML?

在 SysML 中,当对 消息 进行建模时,我无法理解应该使用什么元素类型来定义它、它的元素以及它流经的端口。

我假设它是:

两者都可以输入一个代理端口(以前是流端口 ,如果我理解正确的话),或者在构建完整的消息接口或端口系统(直接端口或嵌套端口)时,在其他块中键入大多数其他属性。如果基础消息定义是一个普通的,那么什么时候创建一个流属性block 键入,因此某些内容实际上可以从一个任务流向另一个任务通过港口?

一个接口块应该出现在那里的某个地方,以便输入端口,对吧?这是否意味着我直接使用它来定义消息,还是取决于我的端口方案(即我是否嵌套端口以及嵌套到什么级别)?

我想这归结为混淆你定义一个事物(即 class/block)和定义这个事物是在你的模型中流动的量(某种流动) - 消息从一个任务或硬件传递到另一个。

P.S。我使用 MagicDraw 作为 SysML 工具,但我认为这不会影响核心答案。

答案,由我的团队开发:

  1. 为原始网络接口、物理层使用完整端口
  2. 使用键入网络接口,包括:
    • 表示流出端口的物理项目的流属性,例如总电流(功率)。
    • 嵌套完整端口 物理嵌套端口的元素,例如构成物理以太网端口的引脚。键入另一个 block.
    • 用于 logical/abstract 数据流的嵌套 <> 元素通过网络接口,例如 sockets/connections
  3. 使用接口块键入每个逻辑连接(嵌套代理端口) 和一个包含以下内容的 接口块
    • 表示数据块的流属性,例如通过连接作为一个组发送的消息
    • 定义该连接特征的值属性,例如源和目标 IP 地址和端口号、通信丢失和重试信息等。请注意,其中一些可能更好地用作标签中的元数据作为单独的刻板印象。
  4. 使用 ValueType 键入连接的数据流属性,其属性是该数据块的各个数据元素(即消息元素)。
  5. 创建一个带有自定义名称的新构造型,例如 "Data Element" 并为每个数据元素所需的任何元数据添加标签,例如长度(以位或字节为单位)、底层类型消息、任何单位或比例因子、消息中的位置等

此时您甚至可以创建一个通用 table,它将列出给定消息或所有消息中的每个数据元素,并添加所有相关的 Data Element 标记为列,并将其用作每个消息和每个消息的数据元素的当前规范,并允许直接在 table 中更轻松地编辑所有信息.

为什么要对流经 代理端口[=71= 的数据块使用 ValueTypes ]?因为那时它们将显示为 信息流 项目而不是 项目流 项在 内部框图 (IBD) 上的两个 代理端口 之间的连接器。 IE。当我发送由 Block 键入的物理项目时,它作为 Item Flow,但是当我发送一个逻辑项时,比如数据,它是由 ValueType 键入的,并且作为信息流.

发送

这是一个起点 - 我们发现最初嵌套值类型定义存在问题,因此选择了一个更扁平的消息定义,将消息的所有方面包含在一个 中ValueType,而不是嵌套它们。我敢肯定有办法解决这个问题,但你想变得多复杂?