一种实现和管理状态机信息的装置制造方法及图纸

技术编号:10483456 阅读:158 留言:0更新日期:2014-10-03 14:27
本发明专利技术公开了一种实现和管理状态机信息的装置,包括绘制状态机的过程和修改状态机及管理状态机信息的过程。主要技术方案包括:创建状态机;按照预定规则绘制状态机的各个状态;按照预定规则的布局算法对所绘制的状态机的各个状态进行连线布局;用树结构管理状态机各个状态之间的层次关系;用二维表结构对状态机的触发事件、连线权重等进行补充描述。本发明专利技术由于按照特定规则对状态机的基本单元进行分组,将组转化为树状图的节点,并将树状图的结构关系信息保存在树状图关系表中,可以很方便的实现层次状态机,使得状态机和树状图之间的转变简单且易于实现,同时根据对状态进行分层可以快速理解状态机。

【技术实现步骤摘要】
一种实现和管理状态机信息的装置
本专利技术涉及计算机数据处理技术,尤其涉及一种实现和管理状态机信息的装置。
技术介绍
有限状态机的思想不仅是软件编程领域常用的一种处理方法,同时也在硬件控制电路领域得到广泛的应用。利用有限状态机可以对复杂的控制逻辑进行简化分解,而形成有限个稳定的状态。然后在状态之间进行跳转时进行相应的事件判断,把连续的处理过程变为离散的数字处理过程,从而可以更好的利用和发挥计算机的工作特点。同时,因为有限状态机表示的简单性(由有限个状态),从而可以在实际的工程应用中实现。另一方面,虽然其表示比较简单,却不意味着它只能进行简单的有限次处理,由于有限状态机是闭环的,所以,可以利用有限的状态处理无穷的事务。 我们通常所说的状态机对于实现简单的逻辑是非常有帮助的,而且实现起来也比较简单,比如可以用if-else if-...-else结构或者switch_case结构就可以简单实现。这种状态机在状态少的时候是没有什么问题的,但是如果跳转的状态很多,则维护状态的跳转的难度就非常的大,这是验证工程师在使用状态机时遇到的一个很大的难点。例如,一个状态机有η个状态,由于状态机允许某个状态直接跳转到它本身,这要在最坏情况时,一个工程师就要维护η*η条跳转链接,这时状态机的跳转会变得异常的繁杂。 为了解决这一难题,业界引入了一种叫做层次化状态机的技术。简而言之,就是先把状态根据其行为进行分类,把具有同类行为的几个“小状态”归并到一个“大状态”里面。 综上所述,状态机在现在记录信息过程中发挥越来越重要的作用,而现在对状态机的记录和管理的效率较低,并且维护过程复杂。
技术实现思路
有鉴于此,本专利技术实施例提供一种实现和管理状态机信息的装置,采用该技术实现的状态机,提高了对状态机的记录的便利性,同时易于维护。 本专利技术要解决的技术问题通过以下技术方案加以解决: 利用dot语言绘制状态机的各个状态,包括: 利用dot语言自带的绘制图形功能,针对状态机的特点,开发了三种状态机控件模块,包括:单个状态、顺序型连接状态和选择型连接状态。通过三种控件的组合,实现一个完整的状态机图形的绘制。 dot命令是一个用来将生成的图形转换成多种输出格式的命令行工具,其输出格式包括PostScript, PDF, SVG, PNG,含注解的文本等等。neato命令用于spring model的生成(在Mac OS版本中称为energy minimized)。twopi命令用于放射状图形的生成。circo命令用于圆形图形的生成。fdp命令另一个用于生成无向图的工具。dotty命令一个用于可视化与修改图形的图形用户界面程序。Iefty命令是一个可编程的(使用一种被EZ影响的语言[4])控件,它可以显示DOT图形,并允许用户用鼠标在图上执行操作。Lefty可以作为MVC模型的使用图形的GUI程序中的视图部分。DOT语言是一种文本图形描述语言。它提供了一种简单的描述图形的方法,并且可以为人类和计算机程序所理解。DOT语言文件通常是具有.gv或是.dot的文件扩展名。 用dot语言绘制状态机的过程和语法包括: I)设置点和线的形状和颜色; 2)设置点和线的位置; 3)为绘制的状态绘制框(子图)。 用dot语言提供的布局算法对所绘制的状态机的各个状态进行连线布局,包括: 本文利用dot语言和java语言编程的接口,利用java语言的Swing库开发出图形用户界面,然后通过画树列表的形式来绘制状态机图形,同时利用dot高效的布局算法来完成状态机图形的连线和布局。 用树结构管理状态机各个状态之间的层次关系,包括: 利用树结构便于层次化信息控制的特性,用以控制层次化状态机中状态之间的层次特性。树的每个叶节点和每个状态相对应,而树的非叶节点则用来表示每个状态所属的层次。 所述树状图关系表还包括用于保存叶节点之间连接或转移关系的叶节点关系表。 上述处理状态机的方法,所述树状图结构关系表的属性如下: 本文档来自技高网
...

【技术保护点】
一种实现和管理状态机信息的装置,包括绘制状态机的过程和修改状态机的过程,所述状态机包括一个或多个基本状态单元,其特征在于,所述绘制状态机的过程包括以下步骤:1)创建状态机;2)按预定规则对所述状态机的基本状态单元进行分组;3)将所述状态机依据所述分组转化为树状图,其中所述分组所形成的组对应于所述树状图的节点;4)创建树状图关系表,在所述树状图关系表中保存所述树状图的结构关系信息。

【技术特征摘要】
1.一种实现和管理状态机信息的装置,包括绘制状态机的过程和修改状态机的过程,所述状态机包括一个或多个基本状态单元,其特征在于,所述绘制状态机的过程包括以下步骤: 1)创建状态机; 2)按预定规则对所述状态机的基本状态单元进行分组; 3)将所述状态机依据所述分组转化为树状图,其中所述分组所形成的组对应于所述树状图的节点; 4)创建树状图关系表,在所述树状图关系表中保存所述树状图的结构关系信息。2.如权利要求1所述的一种实现和管理状态机信息的装置,其特征在于,所述创建状态机的步骤包括: 1)利用预定规则绘制状态机的各个状态; 2)用预定规则提供的布局算法对所绘制的状态机的各个状态进行连线布局; 3)用树结构管理状态机各个状态之间的层次关系; 4)用二维表结构对状态机的触发事件、连线权重等进行补充描述。3.如权利要求2所述的一种实现和管理状态机信息的装置,利用预定规则绘制状态机的各个状态,其特征在于,包括: 利用dot语言自带的绘制图形功能,针对状态机的特点,开发了三种状态机控件模块,包括:单个状态、顺序型连接状态和选择型连接状态。通过三种控件的组合,实现一个完整的状态机图形的绘制。4.如权利要求1所述的一种实现和管理状态机信息的装置,按照预定规则提供的布局算法对所绘制的状态机的各个状态进行连线布局,其特征在于,包括: 利用dot语言和java语言编程的接口,利用java语言的Swing库开发出图形用户界面,然后通过画树列表的形式来绘制状态机图形,同时利用dot高效的布局算法来完成状态机图形的连线和布局。5.如权利要求1所述的一种实现和管理状态机信息的装置,用树结构管理状态机各个状态之间的层次关系,其特征在于,包括: 利用树结构便于层次化信息控制的特性,用以控制层次化状态机中状态之间的层次...

【专利技术属性】
技术研发人员:罗永贵连志斌谢峥伍国斌宋建龙
申请(专利权)人:北京大学深圳研究生院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1