您好、欢迎来到现金彩票网!
当前位置:彩之网 > 状态图 >

状态图的链式状态

发布时间:2019-07-22 03:08 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  对于上述的改进类型而言,能够同时“继续”输入转移和输出转移是基本的能力。结合使用进入点、终止状态和继续转移似乎就足以提供这些语义。但是,如果有多个不同的转移需要扩展,这就行不通了。

  在这种情况下,抽象行为模式需要的是用一种方法把在单个运行至结束的步骤中全部执行的两个或更多个转移段链接起来。这意味着,要将进入分层结构状态的转移拆分成一个在状态边界处有效终止的进入部分,以及一个在状态内继续的扩展部分。同样,将分层嵌套的状态所发出的输出转移分为一个在包含状态边界处终止的部分,以及一个从状态边界继续到目标状态的部分。通过引入链式状态的概念,可以在 UML 中获得这一效果。它通过 UML 状态概念的原型 (chainState) 来建模。该状态的唯一目的是将更多的自动(无触发器)转移“链接”到输入转移上。链式状态没有内部结构:没有进入操作,没有内部活动,没有退出操作。它也没有由事件触发的转移。但它可以有任意数量的输入转移。链式状态可能有不带触发事件的输出转移;当输入转移激活链式状态时,该转移将自动触发。这种状态的目的是将输入转移链接到独立的输出转移上。在输入转移和被链接的输出转移之间,一个状态连接到包含状态内部的另一个状态,而该状态又连接到包含状态外部的另一个状态。引入链式状态的目的是将包含状态的内部规约与其外部环境分隔开,这也是一种封装。

  实际上,链式状态代表的是一种“串通”状态,它用于将某个转移链接到一个特定的继续转移。如果没有定义继续转移,转移就会在链式状态中终止。要使操作继续,就必须触发包含状态中的某一转移。

  图 7 中的示例状态机段显示了链式状态及其符号。链式状态在状态机图中表示为在适当分层结构状态内的白色小圆(该符号类似于与它们相似的初始状态和终止状态)。圆是链式状态原型的原型图标,为了方便,通常把它们描绘在边界附近。(实际上,另一种标志法是把它们描绘在包含状态的边界上,类似于封装体上的端口符号。)

  该示例中,被链接的转移包括三个被链接的转移段 (e1/a11-/a12-/a13)。当收到信号 e1 时,将调用标记为 e1/a11 的转移,执行它的操作 a11,然后进入链式状态 c1。接着,调用 c1 和 c2 之间的继续转移。最后,由于 c2 也是链式状态,所以从 c2 转移到 S21。如果沿这些路径的状态都有退出和进入操作,那么实际的操作执行顺序将是:

http://pepdeco.com/zhuangtaitu/319.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有