0
点赞
收藏
分享

微信扫一扫

EA&UML日拱一卒-状态图::状态



状态

状态对状态机行为执行过程中的某个情况建模,在这个情况下,某些条件维持不变。在大多数情况下,这个条件不是被明确定义,而是通过与状态关联的名称来隐式定义的。


UML2.5-14.2 Behavior StateMachines (2)

对于交通信号系统,状态是对交通信号系统中的某个交通状态建模,在该状态中,交通状态维持不变,每个状态的条件是通过状态名来隐式定义的。

说就是有以下几个状态:

双方向停止状态(idle)

两个方向的信号都是红灯,双方向禁止通行

道路1通行状态(Road1Go)


道路1安全停止状态(Road1StopSafely)

道路1黄灯,确认安全的前提下停车;道路2红灯,禁止通行

道路2通行状态(Road2Go)

道路1红灯,禁止通行;道路2绿灯,车辆同行

道路2安全停止状态(Road2StopSafely)

道路1红灯,禁止通行;道路2黄灯,确认安全的前提下停车

状态图如下,各个状态之间按照迁移线制定的方向迁移。


EA&UML日拱一卒-状态图::状态_UML


进入行为/退出行为


状态可以有一个进入行为。如果定义了这个行为,每当通过外部迁移进入状态的时候它就会被执行。另外,状态也可以有一个关联的退出行为,如果被定义了这个行为,每当状态退出的时候它就会被执行。

UML2.5 14.2 Behavior StateMachines (3)

在本例中,为每个状态设计了如下的进入和退出行为。

双方向停止状态(idle)


进入行为:设定双方向信号状态为红灯



道路1通行状态(Road1Go)


进入行为:设定道路1信号状态为绿灯,道路2信号状态维持红灯



道路1安全停止状态(Road1StopSafely)


进入行为:设定道路1信号状态为黄灯,道路2信号状态维持红灯

退出行为:设定道路1信号状态为红灯,道路2信号状态维持红灯

道路2通行状态(Road2Go)


进入行为:道路1信号状态维持红灯,设定道路2信号状态为绿灯


道路2安全停止状态(Road2StopSafely)


进入行为:道路1信号维持为红灯,设定道路2信号状态为黄灯

退出行为:道路1信号维持为红灯,设定道路2信号状态为红灯


参考资料:

14.2 Behavior StateMachines (2) 

14.2 Behavior StateMachines (3)

打开方法如下:

  1. 进入【面向对象思考】 公众号
  2. 打开【自选功能】-【UML2.5中文译文】菜单
  3. 选择【状态图】分类
  4. 选择相关文章



以上就是今天的文章,欢迎点赞,关注并推荐给您的朋友!



阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】



EA&UML日拱一卒-状态图::状态_建模_02




举报

相关推荐

0 条评论