[英]Flow through interface in SysML
我想知道如何在 SysSML 框图中将流经两个组件的数据与它们公开的接口联系起来。
例如,假设您有一个主管组件为较低级别的 controller 设置参考。 controller 公开了一个接口Operations ,该接口具有操作set_reference() ,后者指定了一个浮点参数引用。 主管将使用该接口有效地为较低级别的 controller 设置参考。 该操作告诉两个组件之间存在数据流(例如每个组件也有一个流端口),并且交换的数据是参考。 你会如何 model 这个场景在 SySML 中? 是否存在一种方法来指定接口和数据流并说“看,这个数据流是通过这个接口实现的”。
非常感谢你的帮助
块定义图通常不用于显示系统组件之间的流程。 相反,您将使用系统的内部框图,其中包含两部分s:Supervisor
和c:Controller
。
要指定 controller 提供操作set_reference(r:float)
您可以使用 InterfaceBlock 作为controller
的端口类型。 相同的 InterfaceBlock 将用作supervisor
的端口的类型。 然而,这一次是共轭的。 这将通过添加一个~
符号来显示。 然后你需要通过它们的端口连接它们。 这已经足以指定一个浮点值可以流过连接器。 不需要其他任何东西。
但是,有时您还没有决定如何实现流程(有不止一种可能性set_reference
操作,正如您所做的那样,由supervisor
或流程属性提供的get_reference
操作)。 因此,您只想指定某些项目流动的需要,而不是机制。 在这种情况下,您可以在没有类型的情况下保留端口,并且 model 在连接器上保留 ItemFlow。 它将显示一个实心三角形,放置在连接器中心附近的某处,并标有流动项目的名称和类型。 通过稍后自动创建接口块和操作,工具甚至可以为您提供支持。
正如我所说,如果您已经知道如何实现流程,那么对 ItemFlow 建模是多余的。 当然,如果您想限制特定系统中的可能值。 可以说, double
是一个特定的float
,并且在您的系统中只会使用doubles
,即使 controller 也可以处理singles
。 这可以用double
类型的 ItemFlow 来表示。
有些人更喜欢只使用 model ItemFlows 并省略连接器。 单独的 ItemFlows 显示为带有关键字 «flow» 的虚线箭头。 我建议不要这样做,因为 ItemFlows 并不意味着这些部分是连接的(流程可以通过中间元素来实现)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.