【问题标题】:Can a block in an Internal Block Diagram connect to itself?内部框图中的块可以连接到自身吗?
【发布时间】:2021-12-13 17:26:31
【问题描述】:

我想描述一个事实,即系统中的 4 辆汽车可以相互通信。定义框图时,多重性指定为 4。这就是它作为 IBD 的样子。这有意义还是应该创建和连接 4 个单独的汽车实例?

【问题讨论】:

    标签: uml sysml


    【解决方案1】:

    总之

    此 IBD 表明 4 辆汽车中的每辆都与另一辆汽车完全相连。但根据你的叙述,每辆车都应该与其他 3 辆车相连。所以你应该在连接器的示教端放置一个 3 多重性。

    更多解释

    根据 SysML 第 8.3.1.2 节:

    内部框图基于 UML 复合结构图,具有 SysML 定义的限制和扩展。

    在这些 SysML 扩展中,有第 8.2.1.2.9 节:

    SysML 在连接器的每一端定义了一个默认的多重性 1。如果未在图表上显示,则可以假设这些多重性。

    在没有更具体的规则的情况下,连接器将被理解为 UML 中的复合结构:

    对于在内部结构中扮演角色的每个实例,最初将有与附加到该角色的连接器的相对端的较低多样性所指示的一样多的链接。

    使用默认的 1 多重性,这将导致数组连接器模式(参见 UML 2.5.1,图 11.7 第 188 页),事实上,您将拥有 2 对联网汽车。

    使用明确的 3 多重性,您的图表将导致开始连接器模式(参见 UML,图 11.6 第 188 页)。请注意,鉴于自引用,多重性 3 就足够了。

    当然,您也可以简单地绘制 4 个块并绘制它们之间存在的 6 个连接。这很明确,确实需要更少的脑力来掌握设计的精神,但另一方面,它也使图表更加混乱。

    【讨论】:

    • 这是否也意味着如果我想将例如“人”块连接到汽车 [4] 块,我需要一个 4 多重性?表示该人拥有或可以乘坐这 4 辆车。
    • 这取决于:如果您想表达每个人在某个时间点骑一辆车(否),或者您是否想告诉每个人可以驾驶任何一辆汽车。跨度>
    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 2011-02-06
    • 1970-01-01
    • 2012-03-19
    • 2012-12-02
    相关资源
    最近更新 更多