UML层次状态机向导(StateWizard)

本文介绍了层次状态机的概念及其在UML中的应用,强调了层次状态机在降低复杂性方面的优势。StateWizard是一个运行于VC++的工具,提供层次状态机框架,支持正向和反向工程,便于状态图和代码的生成与更新。
摘要由CSDN通过智能技术生成

1 引言

层次状态机Hierarchy State Machine是实现状态建模的一种很好的形式方法。状态图是层次结构的,也就是说每个状态可以拥有子状态。这个主意很简单,效果却异常强大。 从人类思维的角度来看,平面状态模型无法进行扩展。当状态和转换的数量增长时,平面模型就会变得难于理解。而层次状态模型则可以分部分考察,每一部分理解起来相对就变得简单了。

UML(Unified Modeling Language)首先被采用时,许多开发者把UML技术合并到静态的CASE(Computer Aided Software Engineering)技术中去,用它们来可视化的构建软件体系结构。其中最著名的采用了UML方法的CASE工具就是Rational Rose。但是它独立于通用的集成开发环境,且软件庞大费用高昂。

我们认为一UML工具必须具有以下几个特点:

 

·        支持UML图的生成;

·        支持正向工程,能代码生成, 不仅能支持代码生成;

·        支持反向工程,能根据代码,解析对象之间关系,创建UML图;

·        支持往返工程, 任何一程序从设计到编程到测试,不可能不经过修改,一个好的工具应该能允许开发者修改代码,并让设计能及时更新。很多UML工具都不能支持该功能,它们只能支持代码自动生成

·        支持文挡化,能把设计和实现保存成文挡。

 

很多UML工具能支持正向工程,例如(Finite State Machine Editor)。但能支持往返工程的UML工具比较少。StateWizard类似于ClassWizard,运行于VC++,提供一层次状态机的框架,支持状态树,状态图的生成,支持往返工程。

 

2 什么是层次状态机

层次状态机(Hierarchy State Machine)是对状态行为建模的最直观的方法,也是实现事件驱动系统的一种很好的形式方法。主要用来描述对象、子系统、系统的生命周期。通过层次状态机可以了解到一个对象能到达的所有状态以及对象收到的事件对对象状态的影响等。状态机指定对象的行为以及不同状态行为的差异。同时,它还能说明事件是如何改变一个对象的状态。因此非常适用于软件开发。为便于理解下面给出HSM 中的相关概念

① 状态:状态是对象的生命周期中满足某种条件,执行某些动作或等待某些事件发生的一个阶段。

② 事件:事件是一个在时空中显示出现的特定现象,它可以触发状态转换。

转换:转换是从一个状态结点到另一个状态结点的移动。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值