如何在UML中表达以下内容:
我有一个类,其行为被建模为状态机。进入时 对于该状态机中的特定状态,我想调用一个 类实例的操作(方法)。
我试图找出捕捉上述关系的正式方法。我知道状态的进入行为可以是不同类型的(例如,FunctionBehavior)。类可以具有操作,其基本上是函数的规范(如函数typedef)。我很困惑如何将函数指定为实现特定的操作,然后从可能的多个状态入口行为中调用它。
答案 0 :(得分:3)
引用上层建筑2.5(第14.2.3.4.3页,第307页):
州进入,退出和行动能力行为
州可能有相关的入境行为。只要通过外部转换输入状态,就会执行此行为(如果已定义)。此外,一个州也可能有一个相关的退出行为,如果已定义,则在退出该州时执行。 状态也可能具有关联的doActivity行为。此行为在输入State时开始执行(但仅在State Entry Behavior完成后)并与可能与State关联的任何其他行为同时执行,直到:
- 完成(在这种情况下生成完成事件)或
- 状态退出,在这种情况下中止doActivity行为的执行。
国家的行动态行为的执行不受该州内部过渡的解雇的影响。
这意味着您可以在类中定义一个在输入状态时执行的操作。你这样展示:
修改:只需复制下面的Geert评论即可防水: - )
UML规范非常具体,说该状态具有关联的行为。行为可能是一种操作方法,但并非必须如此。由于Behavior本身是一个抽象的元类,它可以是Activity,OpaqueBehavior,FunctionBehavior,Interaction,StateMachine或ProtocolStateMachine中的任何一个