模组生成装置、模组生成方法、模组生成程序以及记录有该程序的记录介质制造方法及图纸

技术编号:5510371 阅读:189 留言:0更新日期:2012-04-11 18:40
使计算机作为句法分析部、宏块分析部、接合节点重构部、同一部分融合重构部、近似部分融合重构部、中间语言重构部发挥功能。句法分析部对源代码进行句法分析。宏块分析部将该程序分割成多个块,在各块中的用于识别语句的变量的编号上附加表示在该语句中唯一的编号的虚拟部分,对运算模式进行虚拟化。接合节点重构部提取与子程序块直接相关的节点。同一部分融合重构部对于在程序的多个部分被调用的子程序,进行前处理之间以及后处理之间的融合。近似部分融合重构部将构造相似的多个子程序统合为同族的子程序。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及能够从已有的资源中生成可再利用的模组的模组生成装 置、模组生成方法、模组生成程序以及记录有该程序的记录介质。
技术介绍
图18是示出以往的软件开发处理流程的图。如图18所示,当开发新 的软件时,首先利用设计辅助工具,从用自然语言描述的新开发计划书1 制作设计计划书2 (步骤S1901)。在此,对新开发计划书1以及已经登 记的工具和部件(已登记部件工具)3进行对比,组合己登记部件工具3 以使其适合新开发计划书l。接下来,基于设计计划书2进行编码处理(步骤S1902)。然后对编 码而得的代码进行调试处理(步骤S1903)。在调试处理中,进行分析源 代码4的句法的句法分析(parser)处理(步骤S1911)、分析源代码4的 结构的结构分析处理(步骤S1912)、以及删除冗余代码等的代码级别的 最优化处理(步骤S1913),从而生成执行代码5。在最优化处理中,执行常数传播或函数内嵌(inlining)、或者循环展 开(loop unrolling)等公知的处理。程序的结构本身不被改变。编码处理 和调试处理的一部分由软件开发人员人工进行。这里,人工进行是指不是 由设计辅助工具等计算机执行的自动处理,而是由开发人员逐一经过试运 行错误和确认来进行处理的意思。在调试处理之后,利用执行代码5进行测试(步骤S1904),生成开 发成果物6。该开发成果物6作为已有资源7来再利用。当再利用该已有 资源7以及别处使用过并取得了实际成效的资源8时,如果这些资源7、 8 的规格发生了变更,就需要软件开发人员人工制作改造计划书9。已公知有一种面向对象的框架系统,该系统使用创新的框架体系结构 来提供第一面向对象操作系统。提供该面向对象框架系统的装置包括进 行面向对象应用程序处理的操作系统装置、常驻于操作系统装置中的对面 向对象应用程序进行标准化的框架处理装置(例如,参考专利文献l)。专利文件1:日本专利文件特表平8-505721号公报。
技术实现思路
专利技术要解决的问题然而,在上述传统的软件开发处理中,当再利用在别处使用并取得了 实际成效的资源来改造已有资源时,需要开发人员人工分析所提供的源代 码或文档类来制作改造计划书。因此会产生如下的问题。首先,人工进行 的分析结果中可能含有错误。并且,当对于在已有的资源以及在别处使用 并取得了实绩成效的资源中通用的部分进行模组化时,开发人员可能无法 充分地提取通用部分。如果通用部分的提取不充分,在别处取得了实际成 效的资源中新的部分就会变多,对该新部分进行调试处理和测试所消耗的 时间和精力就会增加。另外,上述专利文件1所公开的面向对象的框架系 统并不是从已有资源自动生成可再利用的模组的系统。本专利技术就是鉴于上述问题而完成的,其目的在于,提供一种不通过开 发人员的人工操作而从已有资源自动生成可再利用的模组的模组生成装 置、模组生成方法、模组生成程序以及记录有该程序的记录介质。用于解决问题的手段为了解决上述问题,达到上述目的,本专利技术的特征在于,使计算机起 到句法分析部、宏块分析部、接合节点重构部、同一部分融合重构部、近 似部分融合重构部、以及中间语言重构部的功能。句法分析部对程序的源 代码进行句法分析,输出该分析信息。宏块分析部基于从句法分析部输出的句法分析信息,通过程序的结构 分析将该程序分割成多个块。并且,宏块分析部在各块中的用于识别语句 的变量的编号上,附加表示在该语句中唯一的编号的虚拟部分,并输出该 附加信息和块的结构信息。用于识别各语句的变量的编号由表示在整个源代码中唯一的编号的低位部分以及包含在该语句中唯一的编号的虚拟部分 的高位部分的组合表示。通过如此表示用于识别各语句的变量的编号,能 够对各块的运算模式进行虚拟化。接合节点重构部基于从宏块分析部输出的结构信息以及附加信息,关 注被定义为子程序的一个块。并且,接合节点重构部对于父辈块内的节 点,以与处理顺序相反的方向(下面称作反向)进行搜索,并且,对于继 承块内的节点,按照处理顺序的方向(下面称作正向)进行搜索,由此提 取与该关注块直接相关的节点。其中,父辈块是指处理顺序在该关注块之 前并且通过被依次处理而到达该关注块的块。继承块是指处理顺序在该关 注块之后并且从该关注块被依次处理的块。在整个程序中,接合节点重构部所关注的块(子程序)有时在多个部 分被调用。同一部分融合重构部对于这样的使用同一关注块的多个部分, 进行父辈块内的节点之间的比较,并将该父辈块相融合。同样地,同一部 分融合重构部对于这样的多个部分,进行继承块内的节点之间的比较,并 将该继承块相融合。然后,同一部分融合重构部输出作为其结果而获得的 融合块信息。另外,在整个程序中有时存在结构相似的块(子程序)。近似部分融 合重构部对于这样的不同的每个关注块,进行融合块信息之间的比较,将 具有相同或相似的融合块信息的多个关注块定义为同类的子程序。并且, 近似部分融合重构部将相同或相似的融合块信息相融合,输出作为其结果 而获得的抽象化代码信息。中间语言重构部基于从近似部分融合重构部输 出的抽象化代码信息以及从句法分析部输出的分析信息,输出被通用化了 的部件的信息。根据本专利技术,当由同一部分融合重构部以及近似部分融合重构部判断 节点的相同性时,通过在用于识别语句的变量的编号中掩蔽低位部分而只 比较高位部分(虚拟部分),能够容易地判断相同性。因此,能够由计算 机自动提取相同或相似的块。另外,在进行通常的句法分析或结构分析 时,或者由接合节点重构部提取对于关注块的依存节点时,掩蔽高位部分 (虚拟部分)而只参考低位部分来作为用于识别语句的变量的编号,由此能够进行与以往同样的处理。本专利技术的模组生成装置、模组生成方法、模组生成程序以及记录有该 程序的记录介质可获得不通过开发人员的人工操作就能够从己有资源自动 生成可再利用的模组的效果。附图说明图l是示出本专利技术实施方式的模组生成装置的硬件构成的图2是示出本专利技术实施方式的模组生成装置的功能性构成的图3是示出本专利技术实施方式的模组生成处理的流程的图4是示出在宏块分析过程中被分类的项目的图5是示意性地示出基于图4的分类表来分割程序的示例的图6是示出宏块分析处理的流程的图7是示出接合节点重构处理的流程的图8是用于说明接合节点重构处理的图9是用于说明接合节点重构处理的图IO是示出同一部分融合重构处理的流程的图ll是用于说明同一部分融合重构处理的图12是用于说明同一部分融合重构处理的图13是用于说明同一部分融合重构处理的图14是示出近似部分融合重构处理的流程的图15是用于说明近似部分融合重构处理的图16是用于说明近似部分融合重构处理的图17是示出应用了本专利技术实施方式的模组生成处理的软件开发处理 的流程的图18是示出传统的软件开发处理的流程的图。标号说明 ll句法分析部12宏块分析部13接合节点重构部14同一部分融合重构部 15近似部分融合重构部 16中间语言重构部具体实施例方式下面,基于附图,对本专利技术涉及的模组生成装置、模组生成方法、模 组生成程序以及记录有该程序的记录介质的实施例进行详细的说明。但本 专利技术并不通过该实施例来限定。 (模组生成装置的硬件构成)图1是示出本专利技术实施方式的模组生成装置的硬件构成的图。如图1 所示,模组生成装置包括C本文档来自技高网
...

【技术保护点】
一种模组生成装置,其特征在于,包括: 句法分析部,对程序的源代码进行句法分析,输出该分析信息; 宏块分析部,基于从所述句法分析部输出的句法分析信息,通过所述程序的结构分析将所述程序分割成多个块,并输出作为其结果而获得的块的结构信 息以及用于对各块的运算模式进行虚拟化的附加信息; 接合节点重构部,基于从所述宏块分析部输出的结构信息以及附加信息,关注被定义为子程序的一个块,对于处理顺序在该关注块之前并且通过被依次处理而到达该关注块的父辈块内的节点,以与处理顺序相反 的方向进行搜索,并且,对于处理顺序在该关注块之后并且从该关注块被依次处理的继承块内的节点,按照处理顺序的方向进行搜索,由此提取与该关注块直接相关的节点; 同一部分融合重构部,对于由所述接合节点重构部从整个程序中提取的使用所述关注块的多 个部分,进行所述关注块的父辈块内的节点之间的比较,将该父辈块相融合,并且,进行所述关注块的继承块内的节点之间的比较,将该继承块相融合,并输出作为其结果而获得的融合块信息; 近似部分融合重构部,对于由所述接合节点重构部从整个程序中提取的 不同的每个关注块,进行从所述同一部分融合重构部输出的融合块信息之间的比较,将具有相同或相似的融合块信息的多个所述关注块定义为同类的子程序,并且,进一步将相同或相似的融合块信息相融合,输出作为其结果而获得的抽象化代码信息; 中间语言重构 部,输出基于从所述近似部分融合重构部输出的抽象化代码信息以及从所述句法分析部输出的分析信息而被通用化了的部件的信息。...

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:山下浩一郎
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

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

1