在UML中(让我们采用规范2.4.1),当考虑正交复合状态时,入口和出口点属于(封闭)复合状态或属于绘制入口/出口点的区域。那么它是什么?
我在规范中没有明确地找到这个,但这是规范关于主题的说法(取自上层结构规范的第15.3.8段):“入口点伪状态是状态机或复合的入口点在状态机或复合状态的每个区域中,它最多只能转换到同一区域内的顶点。“
据此我推断入口点属于它们所适用的区域。如果是这样,我如何为封闭状态模拟进入/退出操作?我是否必须在我使用的每个入口点重复“全州进入行动”?当使用许多区域时,这看起来很麻烦且多余。或者我是否必须创建一个“更大”的状态,它有自己的入口/出口点(或'entry / ...'和'exit / ...'行),后者又包含包含区域的复合状态?这看起来相当复杂。有人可以用一个视觉例子为我澄清这个吗?
答案 0 :(得分:1)
如果要对在进入正交区域之前执行的动作建模,是:您需要创建一个封闭状态(参见2.4.1上层建筑中的图15.35“带区域的正交状态”) )。
从第15.3.11节开始:
复合状态要么包含一个区域,要么分解为两个 或更多正交区域。每个地区都有一套相互的 独有的不相交的subvertices和一组过渡。一个给定的国家 只能用这两种方式中的一种来分解。
另一方面,如果您只需要进入/退出伪状态,则可以避免这种额外的复杂性。请参阅第15.3.11节中有关复合状态,其描述和语义变异点(默认输入规则)的段落。