当前位置: 首页 > 专利查询>河海大学专利>正文

一种从非合流图文法到合流图文法的转换方法技术

技术编号:6983737 阅读:241 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种从非合流图文法实例到合流图文法实例的转换方法。该方法包含两个主要步骤:首先判断图文法实例是否合流,如果非合流,则找出所有非合流的产生式对以及相应的导致非合流的产生式合并图的集合;然后依据非合流的产生式合并图在非合流的产生式对中引入变量构造约束将非合流的产生式集合转换成合流的产生式集合。本发明专利技术提出的方法将一个隐式上下文相关图文法的非合流图文法实例转换成为合流图文法实例,使受限于合流约束的高效规约算法可以适用于转换后的合流图文法实例,从而大幅度地提高了基于隐式上下文相关图文法的图分析效率,使相应的图文法软件工具具有更强的实用性。

【技术实现步骤摘要】

本专利技术属于计算机软件
,涉及一种软件形式化方法与工具,具体是。
技术介绍
图文法是对图进行定义和语法结构分析的形式化方法。近年来,图文法已广泛应用于可视化语言领域,是软件系统形式化建模、描述、分析、转换和验证的形式化工具。图文法主要包括上下文相关和上下文无关两大类,每一类图文法又包含若干个形式框架。一个图文法形式框架一般由图产生式的形式定义、图柄定义、嵌入规则与子图替换方法和所生成图语言的形式定义,以及一个与之对应的规约算法组成。而一个图文法形式框架的图文法实例则由一个初始图和一组具体的图产生式构成,其中,一个图产生式由一对(称为左图和右图)满足一定约束的图构成。在上下文相关图文法中,基础的形式框架主要包括LGG (Layered Graph Grammar)> RGG (Reserved Graph Grammar)、CAGG (Context-Attributed Graph Grammar)和EGG (Edged Graph Grammar)四种,其中LGG产生式中上下文是显示化表示的,即以结点及与之相连的边的形式来描述产生式的上下文情况,而其他形式框架产生式中上下文则是隐式化表示的,即以一种非结点形式的抽象表示方式,如附加于结点之上的顶点和属性等。作为一种软件形式化方法和工具,图文法的一般应用途径为依据一个图文法形式框架的产生式形式设计一组具体的图产生式(也就是图文法实例)来描述应用中所涉及的图形式的结构,并应用形式框架配备的规约算法对所关注的图进行分析以验证其相关结构特性。在上述上下文相关图文法的形式框架中,LGG规约算法极为复杂,时间复杂度为指数级,实用性较差;RGG、CAGG和EGG产生式集合在满足合流(Confluence)约束时规约算法时间复杂度为多项式级,分析效率较为高效,但在不满足合流条件时规约算法时间复杂度也为指数级,效率很低。所谓合流的产生式集合是指集合中每一对产生式均是合流的;而一对产生式是合流的当且仅当对于一个同时包含它们图柄的图,以任意顺序应用这两个产生式对该图进行规约将得到同样的结果。如果一个图文法实例的产生式集合是合流的,则图文法实例也是合流的。然而遗憾的是,并非所有隐式图文法形式框架的文法实例都能满足合流约束,甚至实际应用中一些相对较为简单的图文法实例也不能满足合流约束,如描述基本过程流图的图文法实例。因此,合流约束在一定程度上缩小了隐式图文法形式框架中高效规约算法的适用范围,从而削弱了算法在实际应用中的有效性。
技术实现思路
本专利技术要解决的技术问题是提供一种适用于隐式上下文相关图文法的从非合流图文法到合流图文法的转换机制,使原本非合流的图文法也可应用只适用于合流图文法的高效规约算法,以解决隐式上下文相关图文法规约算法在实际应用中的有效性不足的问题。为了解决上述技术问题,本专利技术采用以下技术方案,用于隐式上下文相关图文法,首先判断图文法实例是否合流,如果非合流,则找出所有非合流的产生式对以及相应的导致非合流的产生式合并图的集合;然后依据非合流的产生式合并图在非合流的产生式对中引入变量构造约束将非合流的产生式集合转换成合流的产生式集合。本专利技术方法将一个隐式上下文相关图文法的非合流的图文法实例转换成为合流的图文法实例,从而使受限于合流约束的高效规约算法能适用于转换后的图文法实例,因此大幅度地提高了基于隐式上下文相关图文法的图结构分析的效率。理论证明,上述转换方法不改变图文法实例所描述的图语言。该方法适用于隐式的上下文相关图文法形式框架,包括RGG,CAGG和EGG以及基于这些形式框架的扩充框架。附图说明图1为本专利技术的从非合流图文法到合流图文法转换方法的流程图; 图2为具体实施方式中所述判断产生式对是否合流的流程图3为具体实施方式中所述构造产生式的合流约束的流程图。具体实施例方式下面结合附图对本专利技术的技术方案进行详细说明在具体实施方式上,本专利技术涉及的转换方法可以实现为一个独立的软件工具、或者一个软件构件以集成到对应的隐式上下文相关图文法系统平台或工具包中。以RGG图文法形式框架为例详解本专利技术的一般实施方式。在实施之前,需要根据工具的应用场景选择合适的图文法实例存储的结构和方式。鉴于图文法的图形特性一般可以采用图形式的存储结构和文件形式的存储方式。本专利技术的转换方法,其流程如图1所示, 具体步骤如下1)输入某种隐式上下文相关图文法形式框架的一个图文法实例 (AP);2)判断实例的产生式集P是否合流,如果是,则转换过程结束;否则,构建所有非合流产生式对的集合;具体为2. 1)记卿s为所有非合流产生式对的集合,置/^/ZS为空; 2. 2)记为非合流产生式对的不可约简合并图集的集合,置为空; 2.3)对广中任一对产生式Α.与/兴J·,判断其是否合流,如果非合流,则将ΙΑ.,^/} 加入集合中;2. 4)如果/7C/ZS为空,则/^是合流的,直接输出Λ转换过程结束,否则,转2. 5 ;2.5)々ncs %ncPS中所有产生式的集合,即/7中所有非合流产生式的集合;3)焚ncps构造合流约束,即对flc/zs中任一对\Pi’Pj\Rnrds中的,构造约束C 使与^相对于互斥;具体为3.1)置与巧公共变量集K和基于K的语义约束C为空;3. 2) Jsinrdij中任一图G,构造变量集r及约束c使c与Pj. c相对于G互斥; 3. 3)将Z和C分别并入产生式和/T7的变量集和约束集;4)令 α为转换后的/7C/ZS中所有产生式的集合,从/^中删除产生式集合/7^,再并入集合tcs ;输出凡在上述步骤中,步骤2. 3的具体过程为2. 3. 1)构造与Pj的合并集巧7,即Α.右图与巧右图的所有可能重叠所构成图的集合;2. 3. 2) Inrdij^mij中的不可约简子集,初值置空;2. 3. 3)对于任一 "中的图仏判断G是否关于与&可约简,如果G不可约简,则将 G加入集合/ /,7中;2.3. 4)如果不为空,则将\Pi, Pj)加入集合/^/zs中;并将加入集合中。在上述步骤中,步骤3. 2的具体过程为3.2. 1)判断与^/.C是否相对于G互斥,如果互斥,则继续判断中下一图;否则,转下一步;3. 2. 2)则引入变量r并构造r上的约束c使A. c与Pj. c相对于G互斥; 3. 2. 3)将r和c分别加入集合Z和C。以下详述上述步骤中的实施要点。本专利技术的转换方法主要由两个部分组成首先, 判断给定图文法实例的合流性,合流则无需进行转换,否则收集每一个非合流的产生式对以及导致其非合流的合并图集合,具体步骤如图1的上虚线框所示;然后,依据产生式对的非合流合并图集构造变量及对应约束以使其合流,并将约束附加于相应产生式上,得到新的产生式集合,具体步骤如图1的下虚线框所示。在第一步中,判断一对产生式是否合流的详细步骤如图2所示,其中的两个子过程需要进一步说明首先,构造和^/的合并集,也就是右图与&右图所有可能的公共子图重叠所构成图的集合,可选的具体实现途径之一是,先计算这两个图的共同结点集,再计算该集合的幂集,然后依据幂集中的每个元素构造它们的重叠图就得到合并集;其次,判断产生式对的合并集中任一图^的可约简性,可以按照与PpPi两种顺序对G进行规约,若结果本文档来自技高网
...

【技术保护点】
1.一种从非合流图文法到合流图文法的转换方法,用于隐式上下文相关图文法,其特征在于,首先判断图文法实例是否合流,如果非合流,则找出所有非合流的产生式对以及相应的导致非合流的产生式合并图的集合;然后依据非合流的产生式合并图在非合流的产生式对中引入变量构造约束将非合流的产生式集合转换成合流的产生式集合。

【技术特征摘要】

【专利技术属性】
技术研发人员:邹阳曾晓勤
申请(专利权)人:河海大学
类型:发明
国别省市:84

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

1