0

I would like to make a component diagram for a multiple robot coordination system.

I would like to show on the component diagram that the sub-component "Perception" of each "Robot" component communicates through an interface with each other. Indeed, the sensors of all robots are used in order to estimate the position/velocity of each robot, it is a cooperative sensing.

How can I do that ? Should I have an interface which would be both provided and required by the component "Robot" ?

Thanks.

4

1 回答 1

1

对于这种类型的系统,您可以使用 UML 的全部功能并制作真正有效的文档。您很可能需要以下部分(或全部)图表:

  1. 组件图- 显示“大图”和系统的主要部分以及它们的接口和依赖关系。组件在这里是“黑匣子”,将在下图中详细说明
  2. 复合结构- 非常适合打开组件并显示其内部结构。您可以将“黑匣子”及其界面作为这项工作的一种输入。每个组件(外部组件除外)都应在内部建模。这种图表使您可以使用整体范式将内部结构建模为互连元素的网络。这里将使用之前检测到的接口来展示它们是如何实际实现的。
  3. 类图。如果您需要进一步指定内部结构的元素(它们的属性、方法、关联等),这就是要绘制的图。
  4. 状态机。在嵌入式实时系统中,很多类都是活动的并且有状态。识别那些类(甚至组件)并使用状态图来显示它们的内部逻辑。
  5. 序列和交互。这些图表将帮助您指定系统的不同元素如何协同工作以实现不同的场景。
  6. 部署图。由于机器人是一块硬件,并且这些组件在其上运行(或者它们,如果有多个硬件节点),您可能想要展示组件如何分布在硬件结构上。
  7. 您还可以查看时序图,这是一种相对较新的,专为实时系统设计的。如果您需要表达时间限制、持续时间等,它可能会派上用场。

如果您是 UML 新手,我建议您从组件和部署开始。它们相对容易学习。当您感到理解并需要进一步表达您的想法时,请深入了解复合结构和状态。最后是上课。

玩得开心!

例子

这就是我理解您的模型及其元素的方式。这扩展了我的评论。

解释在注释和图表注释中。

组件图:

在此处输入图像描述

一个组件实例的图表: 在此处输入图像描述

请注意,第一个图表应该使用定义所有有效连接可能性的“连接规则”进行扩展。是否只有一个 CentralManager?每个机器人都必须连接到 CentralManager 吗?机器人可以自言自语吗?等等...

这些和其他问题应该单独建模。根据具体细节,在类图上绘制图表。

于 2014-05-26T17:21:50.917 回答