如何指定类方法的调用作为UML中状态的入口行为

时间:2015-12-17 16:11:01

标签: uml state-machine

如何在UML中表达以下内容:

  

我有一个类,其行为被建模为状态机。进入时   对于该状态机中的特定状态,我想调用一个   类实例的操作(方法)。

我试图找出捕捉上述关系的正式方法。我知道状态的进入行为可以是不同类型的(例如,FunctionBehavior)。类可以具有操作,其基本上是函数的规范(如函数typedef)。我很困惑如何将函数指定为实现特定的操作,然后从可能的多个状态入口行为中调用它。

1 个答案:

答案 0 :(得分:3)

引用上层建筑2.5(第14.2.3.4.3页,第307页):

  

州进入,退出和行动能力行为

     

州可能有相关的入境行为。只要通过外部转换输入状态,就会执行此行为(如果已定义)。此外,一个州也可能有一个相关的退出行为,如果已定义,则在退出该州时执行。   状态也可能具有关联的doActivity行为。此行为在输入State时开始执行(但仅在State Entry Behavior完成后)并与可能与State关联的任何其他行为同时执行,直到:

     
      
  • 完成(在这种情况下生成完成事件)或
  •   
  • 状态退出,在这种情况下中止doActivity行为的执行。
  •   
     

国家的行动态行为的执行不受该州内部过渡的解雇的影响。

这意味着您可以在类中定义一个在输入状态时执行的操作。你这样展示:

enter image description here

修改:只需复制下面的Geert评论即可防水: - )

  

UML规范非常具体,说该状态具有关联的行为。行为可能是一种操作方法,但并非必须如此。由于Behavior本身是一个抽象的元类,它可以是Activity,OpaqueBehavior,FunctionBehavior,Interaction,StateMachine或ProtocolStateMachine中的任何一个