EA画UML状态图中子状态机是什么意思
这篇文章将为大家详细讲解有关EA画UML状态图中子状态机是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
数字式车辆信号灯
系统分解之后,接下来的工作就是对每个模块进行建模。模块:数字式车辆信号灯DigitalVehicleLight。
先看图。
子状态机
为了能够在交通信号系统中作为一个模块被调用,通过子状态机来定义DigitalVehicleLight的行为。
子状态机是一个状态机定义可以被多次复用的方式。它也需要将进入和离开迁移绑定到内部顶点上,这一点与封装组合状态类似。封装组合的场合,状态和它的内容被定义它们的状态机所包含,子状态机更像编程语言中的宏,而不是行为定义。
--UML2.5 14.2.3.4.7 Submachine States and submachines
(子状态机状态和子状态机)
在这个子状态机中,定义了四个状态:红灯,绿灯,绿灯倒计时,黄灯,每个状态的迁移都是通过对应的事件来驱动的。
在绿灯倒计时状态中,存在一个内部迁移用于接受计数值通知事件,实际的动作是调用DigitalVehicleLight的ShowCounter方法。
等处于红灯状态是,可以接受ShowDown事件以便迁移到ExitPoint。
从EntryPoint到Red的迁移有一个效应行为,动作出发LightReady信号。目的是用于同步表示设备和信号引擎的动作,具体动作将在后续文章中说明。
进入点/退出点
关于EntryPoint和ExitPoint的语义,UML2.5中定义如下。
进入点-进入点伪状态表示的是状态机或者封装了内部状态/状态机的组合状态的入口点。在包含入口点的状态机或者组合状态的每个区域中,最多可以有一个从入口点到区域内顶点的迁移。
退出点-退出点伪状态表示的是状态机或者封装了内部状态/状态机的组合状态的退出点。迁移到组合状态或者是被子状态机状态引用的状态机中的区域中的退出点意味着组合状态或者是子状态机状态的退出(伴随着关联退出行为的执行)。如果存在多个从状态机中的正交区域到这个伪状态的迁移,那么它的行为像汇合点伪状态一样。
--UML2.5 14.2.3.7 Pseudostate and PseudostateKind
(伪状态和伪状态类型)
补充说明
子状态机中涉及的所有信号,都是作为状态机的一部分存在。也就是说都会随着DigitalVehicleLight的实例化一起被实例化,从而实现复用。
关于"EA画UML状态图中子状态机是什么意思"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。