1

我想知道如何在 SysSML 框图中将流经两个组件的数据与它们公开的接口联系起来。

例如,假设您有一个主管组件为较低级别的控制器设置参考。控制器公开了一个接口Operations ,该接口具有操作set_reference(),后者指定了一个浮点参数引用。主管将使用该接口有效地为较低级别的控制器设置参考。该操作告诉两个组件之间存在数据(例如每个组件也有一个流端口),并且交换的数据是参考。您将如何在 SysSML 中为这种场景建模?是否存在一种方法来指定接口和数据流并说“看,这个数据流是通过这个接口实现的”。

非常感谢你的帮助

4

1 回答 1

3

块定义图通常不用于显示系统组件之间的流程。相反,您将使用系统的内部框图,其中包含两个部分s:Supervisorc:Controller.

要指定控制器提供操作set_reference(r:float),您可以使用 InterfaceBlock 作为controller. 相同的 InterfaceBlock 将用作supervisor. 然而,这一次是共轭的。这将通过添加一个~符号来显示。然后你需要通过它们的端口连接它们。这已经足以指定一个浮点值可以流过连接器。不需要其他任何东西。

但是,有时您还没有决定如何实现流(有不止一种可能性。set_reference操作,正如您所做的那样,由流get_reference提供的操作supervisor或流属性)。因此,您只想指定某些项目流动的需要,而不是机制。在这种情况下,您可以让端口没有类型,并通过连接器对 ItemFlow 进行建模。它将显示一个实心三角形,放置在连接器中心附近的某处,并标有流动项目的名称和类型。通过稍后自动创建接口块和操作,工具甚至可以为您提供支持。

正如我所说,如果您已经知道如何实现流程,那么对 ItemFlow 建模是多余的。当然,如果您想限制特定系统中的可能值。可以说,double是一个特定的float,并且仅在您的系统doubles中使用,即使控制器也可以处理singles. 这可以用 Type 的 ItemFlow 来表示double

有些人更喜欢只对 ItemFlows 建模而忽略连接器。单独的 ItemFlows 显示为带有关键字 «flow» 的虚线箭头。我建议不要这样做,因为 ItemFlows 并不意味着这些部分是连接的(流程可以通过中间元素来实现)。

于 2020-12-02T18:58:51.327 回答