如何使用UML符号/图表表示复合图?

时间:2016-06-22 03:46:06

标签: uml plantuml

我需要一个工具(最好是在线,但在那个阶段我不在乎),它允许我模拟关系(类似于BPMN),它可以表示为复合图形(尽管大多数时候,它将是一个更简单的嵌套图)。我似乎无法使用BPMN形式实现我的目标(泳道是最接近的,但它们不允许任意嵌套)。我想重用UML模型化工具,但我对UML知之甚少,不知道UML是否涵盖了我的用例。

想象一下集成电路由芯片连接而成。所以有三个筹码:A,B,CChip A -> Chip B, Chip C。每个芯片都有输入端口和输出端口,A的一些输出端口连接到B的输入端口,有些连接到C的输入端口。现在Chip A本身可以被视为集成电路,并且因此可以在另一个图中分解:Chip A :: Chip A.1, Chip A.3 -> Chip A.2。每个Chip A.1也可以被分解等。这就是所谓的复合图。复合图的每个节点都可以有子图,这些图本身就是图形。

我确实知道Harel和UML的状态图形式,它允许层次图描述分层嵌套状态机(因此任何嵌套图都可能用状态图形式表示),尽管我不知道任何允许的在线工具绘制状态图。问题是UML是否有一个允许指定复合图的机制或工具,如果是,嵌套机制是什么?

1级

   -------
---|ChipA|---ChipB---
   |     |---ChipC---
   |-----|

放大芯片A

-----ChipA.1---ChipA.2----   (...linked to ChipB input port
  |--ChipA.3-|         |--   (...linked to ChipC input port

来自文学的复合图的一个例子:

enter image description here

2 个答案:

答案 0 :(得分:2)

回应您的评论,

  

问题是UML是否有一个允许指定复合图的机制或工具,如果是,嵌套机制是什么?

在基础架构级别,它使用 Element :: ownedElement 关联来表示包含。 Namespace :: ownedMember 关联子集了这种关联,类与其成员,包和嵌套包,组件及其包含的项之间的关联等也是如此。所有这些都是概念上复合的图形,但不会以与图表类似的方式呈现。

就你的'芯片组成芯片'而言,UML上层结构中的CompositeStructures包(2.4.1 superstructure的第9节)使用这些关联来创建复合材料,或者用于构建特定领域的示例在UML之上,SysML是为系统工程创建的UML方言。

系统工程框图包括使用端口和连接器创建的块;块可以具有进一步的块网络的内部结构。连接器带有流量,可以是信息,能量或物质。

某些工厂的示例框图显示了用于在与其容器相同的图中显示自有元素的自定义呈现: block diagram

有关详细信息,请参阅http://www.omgsysml.org/http://sysmlforum.com/sysml-faq/

sysml工具列在http://sysml.tools/网站上。

答案 1 :(得分:1)

从UML中的组件图开始。

您的芯片可以被视为组件,端口将是...井,端口;-)但您也应该定义某种接口(这些端口提供/需要的功能)。据我所知,箭头方向描绘了某种依赖性(因此最后用箭头提供的芯片提供了一些东西,因此将提供一个提供的接口,而另一端将具有所需的接口和它们之间的正确连接)。

如果使用内部结构实现特定端口,您将使用委派连接器。