在 UML 状态图中作为状态的动作

action as state in UML state diagram

this 视频中可以看到 UML 状态图的一部分:

但是,"provide funds"状态是一个动作。这有什么意义?

状态有可能是动作(动词)吗?

"provide funds" 动作不应该是过渡吗?

像下面这样的东西是不是更有意义?

Provide Funds 在这种情况下也是一个与动作同名的状态。所以它们并不相同。他们只是有相同的名字。有时很难避免这种情况。从建模的角度来看,我会说这种状态简直是多余的。您可以在资金为 > 0 时从 Funds Available 进行自我转换,并在资金为零时退出。

P.S。哦,我看到你最后一张图片正是我所说的:-)

  1. 所以基本上 [funds avail >[=13=]] 转换会在提供资金操作完成后自动触发?

    是也不是。 [funds avail >[=13=]]是守卫。触发器是 request fund。只有当守卫不会阻挡时才会执行此转换(因此如果有钱)。

    所以这是某种"transient"状态?这么说吧。

  2. 此外,提供资金的状态也称为 Provide Funds(不仅仅是动作),我说得对吗?因此,状态的更好名称是:机器的状态 while providing funds ?

    没错。

这只是糟糕的命名。应该叫"Providing Funds"。这将清楚地表明在该州发生了什么以及它是一个州的事实。