我正在尝试使用PlantUML创建一个活动图,该活动图的确包含可返回到现有节点的箭头。
我要寻找的是一个在下图中包含两个箭头“箭头1”和“箭头2”的图:
我尝试使用针对活动图的PlantUML beta语法创建此文件。
我实现了下图:
通过编写以下PlantUML代码:
@startuml
start
:new - please check;
while (check sucessful?) is (is an error)
:to solve;
:in progress;
:solved;
endwhile (not an error)
:erledigt;
note left
reason:
* done
* not an error
* not fixable
end note
stop
@enduml
是否有人暗示如何实现这一目标?对我而言,是否通过使用beta语法或较旧的语法实现结果都没有关系。
您不能有从一个动作开始的多个流程,也不能有一个动作进行的多个流程
对于UML的观点,因此您需要添加:
“解决”操作后的决策节点具有两个流程,每个流程都有一个守卫
动作“ erledigt”之后的决策节点具有两个流,每个流都有一个警卫
在“解决”操作之前的合并节点,以从决策节点“检查成功”和操作“ erledigt”接收流。
对于(1),在PlantUML中使用“ if-else”或“ split”
start :new - please check; while (check sucessful?) is (is an error) :to solve; if (duration) then (long) :in progress; else (immediat) endif :solved; endwhile (not an error) :erledigt; note left reason: * done * not an error * not fixable end note stop @enduml
对于(3),您可以使用“重复执行”同时管理(2),但不确定在PlantUML中可以不重复三个操作(解决-进行中-解决)或在您调用的其他活动中进行操作。在PlantUML中,代码是从控件结构(“ goto”除外)中提取的,该代码不允许交叉线,但是您需要“ goto”交叉线。请注意,决定“ check sucessfull”而不是动作“解决”没有问题
谢谢@bruno,这对我有用:-)这也使我能够正确地找到我真正需要的东西。我将案例建模为状态图比将活动图建模要好得多。(如果可以的话,请给你两个投票;-)
您不能以“ for PlantUML”结尾,因为UML可以拥有它。