[发明专利]一种状态机可拼接性和拼接规则判定方法和装置在审
申请号: | 201410836240.5 | 申请日: | 2014-12-26 |
公开(公告)号: | CN104572029A | 公开(公告)日: | 2015-04-29 |
发明(设计)人: | 王磊;杨磊;谢少林 | 申请(专利权)人: | 中国科学院自动化研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/46 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 宋焰琴 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 状态机 拼接 规则 判定 方法 装置 | ||
1.一种状态机可拼接性和拼接规则判定方法,包括以下步骤:
步骤1,进行初始化,将当前状态置为空状态;
步骤2,从待拼接状态块队列中读取一个状态块,根据该状态块的类型和当前状态判断该状态的处理方法,修改当前状态,并跳转到相应规则的步骤中;
步骤3,判断全顺序块的拼接规则,保持当前状态为全顺序状态,跳至步骤2;
步骤4,判断全循环块的拼接规则,保持当前状态为全循环状态,且读入的状态块为循环块,调用步骤6进行长度比较:
若步骤6返回长度相同,且比较的左右循环块循环次数相同,则保持当前状态为全循环状态,跳至步骤2;
若步骤6返回长度相同,且比较的左右循环块循环次数不同,则输出等价变换规则,方法结束;
若步骤6返回结果不同信息,则输出不可拼接,该方法结束;
步骤5,判断全嵌套循环块的拼接规则,保持当前状态为全嵌套循环状态,且读入的状态块为嵌套循环块,调用步骤6进行长度比较:
若步骤6返回长度相同,且比较的左右嵌套循环块循环次数相同,则保持当前状态为全嵌套循环状态,跳至步骤2;
若步骤6返回长度相同,且比较的左右嵌套循环块循环次数不同,则输出等价变换规则,方法结束;
若步骤6返回长度不同,则输出不可拼接,该方法结束;
步骤6,确定输入的两个循环块或两个嵌套循环块长度是否一致。
2.根据权利要求1所述的状态机可拼接性和拼接规则判定方法,其中步骤2中所述根据该状态块的类型和当前状态判断该状态的处理方法,修改当前状态,并跳转到相应规则的步骤中的步骤包括:
若当前状态为空状态:
若读取的状态块为顺序块,置当前状态为全顺序状态,重新开始步骤2;
若该状态块为循环块,置当前状态为全循环状态,记录当前循环块的循环长度,重新开始步骤2;
若该状态块为嵌套循环块,置当前状态为全嵌套循环状态,记录当前循环块的循环长度,重新开始步骤2;
若当前状态为全顺序状态:
若读取的状态块为顺序块,则跳转到步骤3;
若读取的状态块为循环块或嵌套循环块,则修改当前状态为非全顺序状态,输出等价变换规则,该方法结束;
若当前状态为全循环状态:
若读取的状态块为循环块,则跳转到步骤4;
若读取的状态块为顺序块,则修改当前状态为非全顺序状态,输出等价变换规则,该方法结束;
若读取的状态块为嵌套循环块,则修改当前状态为非全循环状态,输出等价变换规则,该方法结束;
若当前状态为全嵌套循环状态:
若读取的状态块为嵌套循环块,则跳转到步骤5;
若读取的状态块为顺序块,则修改当前状态为非全顺序状态,输出等价变换规则,该方法结束;
若读取的状态块为循环块,则修改当前状态为非全循环状态,输出等价变换规则,该方法结束;
若读取待判定状态块队列为空,且当前状态为全顺序状态、全循环状态或全嵌套循环状态,则输出可拼接规则,该方法结束。
3.根据权利要求1所述的状态机可拼接性和拼接规则判定方法,其中步骤6中所述长度与循环体长度、总循环次数和已循环次数相关,表示为:长度=循环体长度×(总循环次数-已循环次数)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院自动化研究所,未经中国科学院自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410836240.5/1.html,转载请声明来源钻瓜专利网。