在SysML中,当对消息进行建模时,我很难理解应该使用哪种元素类型来定义它,它的元素以及它所流经的端口。
我假设是:
两者都可以键入 代理端口 (如果我理解正确,则以前称为 流端口 ),或键入其他功能块中的大多数其他属性都可以构建完整的消息接口或端口系统(直接端口或嵌套端口)。如果基本消息定义是普通的 阻止 ,那么何时创建 流属性 ,键入 阻止 ,以便实际上可以通过端口从一个任务流到另一个任务?
接口块 应该出现在其中,以便键入端口,对吗?这是否意味着我使用它直接定义消息,还是取决于我的端口方案(即是否嵌套端口以及将端口嵌套到什么级别)?
我想这可以归结为当您定义事物(即类/块)以及定义事物是模型中流动的量(某种形式的消息传递)时的困惑从一个任务或硬件到另一个任务。
P.S。我使用MagicDraw作为SysML工具,但我认为这不会影响核心答案。
答案 0 :(得分:0)
答案是由我的团队提出的:
您甚至可以在此时创建一个通用表,该表将列出给定消息或所有消息中的每个数据元素,并添加所有相关的 数据元素 标记为列,并将其用作每个消息和每个消息的数据元素的当前规范,并可以更轻松地直接在该表中编辑所有信息。
为什么要对流过 代理端口 的数据块使用 ValueTypes ?因为这样,它们将通过两个之间的连接器显示为 Information Flow 项目,而不是 Item Flow 项目 内部框图(IBD) 上的> 代理端口 。即当我发送由 Block 键入的物理项目时,它作为 Item Flow 发送,但是当我发送一个逻辑项,例如数据,它由 ValueType 键入,并作为 Information Flow 发送>。
这是一个起点-我们发现最初嵌套值类型定义存在问题,因此选择了一个更加扁平的消息定义,该消息定义在单个 ValueType 中包含了消息的所有方面/ strong>,而不是嵌套它们。我敢肯定有解决方法,但是您想变得多么复杂?