据我了解,您可以在 UML 状态图中进行转换,例如:
- 事件[守卫]/动作
- 事件[]/动作
- 事件
http://www.sparxsystems.com/resources/uml2_tutorial/uml2_statediagram.html
在 UML 中是否也可以/有效地仅使用 Guard 而没有 Event & Action 进行转换?
- 无事件[守卫]/无动作
谢谢!
据我了解,您可以在 UML 状态图中进行转换,例如:
http://www.sparxsystems.com/resources/uml2_tutorial/uml2_statediagram.html
在 UML 中是否也可以/有效地仅使用 Guard 而没有 Event & Action 进行转换?
谢谢!
当然,实际上根据 UML 2.5 元模型,转换与 0..* Event、0..1 Guard 和 0..1 Action 相关联。
所以 No Event, 1 Guard, No Action 是符合的
在 UML 中这是允许的,例如在 EA 中。所以状态图中的每个转换都可以有一组事件,可以为空,可以有或没有警卫,可以有或没有动作。
您需要小心使用这些工具,因为大多数工具都有一些偏差和限制,或者坚持使用旧的 UML 版本。因此,并非任何工具都允许 UML 定义的所有内容,而某些工具(尤其是 EA)则更为宽松。有时这取决于您想对模型和图表做什么。如果打算将动态图用于模拟,则规则大多要严格得多,并且不允许任何 UML 构造。在其大多数修订版中更符合 UML 标准的工具是 MagicDraw。