CN103106119A - 程序自动生成装置和程序自动生成方法 - Google Patents

程序自动生成装置和程序自动生成方法 Download PDF

Info

Publication number
CN103106119A
CN103106119A CN2012103256082A CN201210325608A CN103106119A CN 103106119 A CN103106119 A CN 103106119A CN 2012103256082 A CN2012103256082 A CN 2012103256082A CN 201210325608 A CN201210325608 A CN 201210325608A CN 103106119 A CN103106119 A CN 103106119A
Authority
CN
China
Prior art keywords
mentioned
program
buf
information
assembly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103256082A
Other languages
English (en)
Other versions
CN103106119B (zh
Inventor
桥本康范
三部良太
野尻周平
石川贞裕
山口洁
吉村健太郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN103106119A publication Critical patent/CN103106119A/zh
Application granted granted Critical
Publication of CN103106119B publication Critical patent/CN103106119B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种自动生成程序的装置及其方法,该程序用于缓冲基于组件的特征的差异。本发明自动生成缓冲程序,该缓冲程序针对使用组件的软件环境而缓冲组件的特征。该装置具备:执行缓冲程序的自动生成的控制器(101);具有用于缓冲程序的自动生成的控制信息和处理程序的存储器(102);组件的处理内容的输入装置(103);输出自动生成的缓冲程序的输出装置(104)。存储器将用于缓冲组件的多个形式记录为控制信息,控制器基于处理程序,根据所输入的组件的处理内容抽出特征信息,将抽出的该特征信息作为上述控制信息记录到存储器中,根据特征信息选择规定的形式,根据选择出的形式和特征信息,生成缓冲程序。

Description

程序自动生成装置和程序自动生成方法
技术领域
本发明涉及一种自动地生成程序的装置及其方法。
背景技术
作为程序的自动生成装置的现有例子,例如存在特开2005-4771号公报所记载的计算***。在该现有的***中,其目的在于:提供一种机制,其即使组件的作者不考虑线程化/同时处理等应用程序框架特有的问题,也能够使组件在应用程序框架下动作,而通过一种机制,从用于实现处理的组件中分离应用程序框架的差异对非同步操作的实现带来的影响。
现有技术文件
专利文件
专利文件1:特开2005-4771号公报
发明内容
发明要解决的问题
根据应用程序框架的形态,有时无法实现非同步操作,但上述的现有的***没有考虑到对应这样的情况。
作为这样的情况的一个例子,在服务器/客户端型的软件***中,具有以下这样的应用程序框架,其通过Adobe Flex(注册商标)实现客户端侧***,通过Java(注册商标)实现服务器侧***。与服务器侧通信的处理能够作为非同步操作来实现,但只在客户端侧完成的处理一般无法作为非同步操作来实现。
进而,在上述的***中,作为通过应用程序框架来实现组件的差异,没有考虑执行***以外的情况。即,无法从组件中消除操作的接口的制约、其他的差异。
由于这样的理由,例如在用于实现软件的应用程序框架、在变更其下的软件构架的情况下,另外在面向多个应用程序框架、软件构架而作成软件的情况下,产生了无法充分确保组件或利用组件的程序的可再利用性。该问题涉及用具有同等功能的组件置换某组件,强制变更组件内的处理流程。
因此,本发明的目的在于:为组件的使用者提供一种自动生成程序的装置及其方法,该程序用于缓冲由于构架、框架等利用组件的软件环境的不同产生的基于组件的特征的差异。
解决问题的手段
为了达到上述的目的,本发明的程序的自动生成装置的特征在于:与软件的环境对应地对组件的特征点进行缓冲,使得符合使用组件的软件环境。
本发明的形式是一种程序自动生成装置,针对使用组件的软件环境,自动生成用于缓冲该组件的特征的程序,其特征在于,具备:执行上述缓冲程序的自动生成的控制器;具有用于自动生成上述缓冲程序的控制信息和处理程序的存储器;上述组件的处理内容的输入装置;输出上述自动生成的缓冲程序的输出装置,其中,上述存储器将用于缓冲上述组件的多个形式记录为上述控制信息,上述控制器基于上述处理程序,根据上述输入的组件的处理内容,抽出特征信息,将该抽出的特征信息作为上述控制信息而记录到上述存储器中,从上述存储器的控制信息读入上述抽出的特征信息和上述多个形式,根据该特征信息从上述多个形式中选择规定的形式,根据上述选择出的形式和上述特征信息,生成上述缓冲程序。
发明效果
根据本发明,能够为组件的使用者提供一种自动生成程序的装置及其方法,该程序用于缓冲由于构架、框架等利用组件的软件环境的不同产生的基于组件的特征的差异。
附图说明
图1是程序自动生成装置的一个实施方式的模块结构图。
图2是说明程序自动生成装置的程序自动生成的流程图。
图3是组件处理内容的实施方式的逻辑框图。
图4是组件处理内容的特征信息的逻辑框图。
图5是说明从组件处理内容中抽出组件特征信息的动作的逻辑框图。
图6是对组件的处理特性缓冲规则的实施方式的框图。
图7是说明根据组件特征信息决定缓冲程序的雏形种类的动作的逻辑框图。
图8是表示缓冲程序的雏形的结构的逻辑框图。
图9是用于缓冲组件的处理特性的处理特性缓冲程序图的逻辑框图。
图10是说明在处理特性缓冲程序中从组件特征信息和缓冲程序的雏形中抽出特定信息的动作的逻辑框图。
图11是说明根据组件特征信息补足处理特性缓冲程序的不足信息的动作的逻辑图。
图12是标识程序自动生成装置的第二实施方式的逻辑框图。
图13是表示其动作的流程图。
具体实施方式
下面,根据附图说明本发明的实施方式。用于自动生成程序的实施方式,程序自动生成装置生成缓冲组件的实现的差异的程序。图1是表示程序自动生成装置的一个形式的硬件结构和逻辑结构的框图。程序自动生成装置100具有CPU101、存储器102、输入装置103、输出装置104、外部存储装置105。
外部存储装置105保存有组件处理内容存储部(区域)106、组件特征信息存储部(区域)107、处理特性缓冲规则存储部(区域)108、缓冲程序雏形存储部(区域)109、处理特性缓冲程序存储部(区域)110,还具有处理程序111。
处理程序111执行组件特征信息抽出(处理)部112、处理特性缓冲方式判断(处理)部113、处理特性缓冲程序生成(处理)部114。处理程序111在执行时被读入存储器102,由CPU101执行。
预先由用户将处理特性缓冲规则、缓冲程序雏形分别输入到处理特性缓冲规则存储部108、缓冲程序雏形存储部109中。将在后面详细说明处理特性缓冲规则、缓冲程序雏形。
经由输入装置103从外部输入的组件的处理内容被写入组件处理内容存储部106。组件特征信息抽出部112从由组件处理内容存储部106中读出的组件的处理内容中,抽出其特征,写入到组件特征信息存储部107中。
处理特性缓冲方式判断部113一边参照从处理特性缓冲规则存储部108中读出的处理特性缓冲规则,一边选择与从组件特征信息存储部107中读出的组件特征信息对应的处理特性缓冲方式,补足组件特征信息。
处理特性缓冲程序生成部114参照从组件特征信息存储部107读出的组件特征信息,从缓冲程序雏形存储部109中读出与选择出的缓冲方式对应的缓冲程序雏形,将其作为处理特性缓冲程序写入到处理特性缓冲程序存储部110。进而,处理特性缓冲程序生成部114参照组件特征信息,补足处理特性缓冲程序,由此完成处理特性缓冲程序。
图2是说明程序自动生成装置的处理的流程图的例子。根据图2的流程图,说明图1的各部分的动作。步骤200是以下的步骤:输入组件的处理内容,来作为对程序自动生成工具的设计信息的输入。由开发者实施输入操作。在步骤200中,将从输入装置1032输入的组件的处理内容写入到组件处理内容存储部106中。
组件的处理内容是指定义了用于实现与业务数据、画面显示有关的操作等规定的具体处理的方法的信息、或用于实现方法的程序。也可以不保存在应用程序的执行过程中调用该处理的定时等与调用有关的信息。图3表示组件的处理内容的具体例子。
组件处理内容300除了保存有组件名301、利用组件的构架的结构302、构架中的组件的配置303以外,还保存有作为组件的处理实体的调用处理名304、调用处理内容305、以及句柄处理名306、句柄处理内容307。
在图3中,组件处理内容300是定义信息,但也可以是程序。301~306的信息是元信息、或为能够静态地分析判断程序的形式。这些信息如后所述,构成为能够通过机械的手段抽出。
图2的从步骤201~204是基于输入信息的机械处理的例子,是能够不经由人工而只通过程序自动生成装置实现的处理。在步骤201中,组件特征信息抽出部112从组件处理内容存储部106中读出组件处理内容,抽出组件特征信息。抽出的组件特征信息被写入到组件特征信息存储部107中。
在此,组件特征信息是指包含执行具备组件的程序时的组件的动作方式、对组件的调用方法产生影响的信息在内的与组件的实现有关的信息。产生影响的信息的种类根据应用程序框架的不同而不同。另外,根据缓冲组件的动作的差异的观点的不同也有所不同。在该实施方式中,假设是从缓冲包含组件的同步处理/非同步处理的不同在内的执行***的不同的观点出发的特征。图4表示组件特征信息的概要的具体例子。
图4是组件特征信息的例子。组件特征信息400具有:用于确定对应的组件处理内容的信息即组件名401;用于确定对应的缓冲程序的信息即基板函数名402;用于在应用程序框架内确定组件的程序参照信息403;对动作方式、调用方法附加特征的信息即处理特性信息404;确定缓冲组件的特性的程序的雏形的信息即雏形种类405。这些特征信息是一个例子。
程序参照信息403由调用函数名406和句柄函数名407构成,另外,处理特性信息404由构架结构信息408和组件配置信息409构成。
在抽出组件特征信息时,组件特征信息抽出部112首先从组件处理内容存储部106所保存的组件处理内容中抽出一个。
接着,组件特征信息抽出部112从所选择出的组件处理内容中抽出必要的信息,输入到组件特征信息存储部107所保存的组件特征信息中的对应的位置。组件特征信息抽出部112针对组件处理内容存储部106所保存的全部组件处理内容,进行组件特征信息的抽出操作,由此结束步骤202。图5表示从组件处理内容中抽出组件特征信息的方法的具体例子。
图5是说明用于从组件特征信息中抽出基本信息的处理的图。组件特征信息抽出部112从选择出的组件处理内容300所保存的组件名301中取得组件名401,从构架结构信息302中取得构架结构信息408,从组件配置信息303中取得组件配置信息409,从调用处理名304中取得调用函数名406,从句柄处理名306中取得句柄函数名407,将其写入到组件特征信息存储部107中。将调用处理名304的信息写入到基本函数名402中。另外,也可以在步骤201的时刻,不向雏形种类405写入任何信息。
在步骤202中,处理特性缓冲方式判断部113参照从处理特性缓冲规则存储部108中读出的处理特性缓冲规则,查找与从组件特征信息存储部107中读出的组件特征信息对应的雏形种类,由此判断与组件特征信息对应的处理特性缓冲方式。将查找到的雏形种类的信息作为组件特征信息的一部分,写入到组件特征信息存储部107中。
处理特性缓冲规则是指对组件的每个处理特性信息对缓冲组件的动作方式、调换方法的差异等的方法进行分类的信息。图6表示处理特性缓冲规则的具体例子。
处理特性缓冲规则600由对程序的动作方式、调用方法附加特征的信息即处理特性信息601与表示缓冲该特征的方法的分类的信息即雏形种类604的组合而构成。处理特性信息601例如由构架结构信息602和组件配置信息603构成,是与组件特征信息所保存的处理特性信息404对应的形式。
在处理特性缓冲方式的判断中,处理特性缓冲方式判断部113首先从组件特征信息存储部107所保存的组件特征信息中选择一个。接着,参照处理特性缓冲规则存储部108所保存的处理特性缓冲规则,查找与选择出的组件特征信息对应的处理特性缓冲方式。
接着,将查找出的组件缓冲方式的信息作为选择出的组件特征信息的一部分而记录。对于组件特征信息存储部107所保存的全部组件特征信息,由处理特性缓冲方式判断部113查找处理特性缓冲方式并对其进行记录,由此,步骤202结束。
图7表示处理特性缓冲方式判断部113查找处理特性缓冲方式并记录的方法的具体例子。图7表示从组件特征信息中抽出雏形种类的信息的处理的图。
首先,处理特性缓冲方式判断部113从处理特性缓冲规则存储部108中查找与选择出的组件特征信息400对应的处理特性缓冲规则600。通过对组件特征信息400的处理特性信息404和处理特性缓冲规则600的处理特性信息601进行比较,例如根据各个值的关联度、或值的同值,由处理特性缓冲方式判断部113判断对应关系。在本实施方式中,将构架结构和组件配置都相同的情况判断为对应。接着,处理特性缓冲方式判断部113将处理特性缓冲规则600的雏形种类604的信息写入到选中的组件特征信息400的雏形种类405中。
在步骤203中,处理特性缓冲程序生成部114参照从组件特征信息存储部107中读出的组件特征信息,从缓冲程序雏形存储部109中读出对应的缓冲程序雏形,作为处理特性缓冲程序写入到处理特性缓冲程序存储部110中。处理特性缓冲程序生成部114针对组件特征信息存储部107所保存的全部组件特征信息,将缓冲程序雏形及其读出记录到处理特性缓冲程序存储部110中,结束步骤203。
缓冲程序雏形是指对某组件、程序的动作方式、调用方法的每个特性准备的用于隐藏或缩减或缓冲该特性的外壳程序(rappaprogram)的格式。处理特性缓冲程序是指用于隐藏或缩减或缓冲某组件、程序的动作方式、调用方法的特征的外壳程序。处理特性缓冲程序生成部114对两者的差进行缓冲。
图8表示缓冲程序雏形的具体例子,图9表示处理特性缓冲程序的具体例子。作为缓冲程序雏形800,预先准备与记录在处理特性缓冲规则存储部108中的全部处理特性缓冲规则的雏形种类604对应的雏形,并输入到缓冲程序雏形存储部109中。缓冲程序雏形800保存有用于与处理特性缓冲规则的雏形种类604对应的信息即雏形种类801、程序片段802。
程序片段802是雏形种类801所对应的每个应用程序框架的编程语言的源代码。其一部分成为代替文本803等缓冲对象区域。代替文本803是能够通过机械的句法分析处理从程序片段802中容易地区别出的形式的字符串。如图9所示,处理特性缓冲程序900保存有确定对应的组件的信息即组件名901、以及程序片段902。
对于处理特性缓冲程序雏形的确定、即从缓冲程序雏形存储部109的读出、向处理特性缓冲程序存储部110的写入,处理特性缓冲程序生成部114首先从组件特征信息存储部107所保存的组件特征信息中选择一个。
处理特性缓冲程序生成部114作成与选择出的组件特征信息对应的处理特性缓冲程序900,并将其写入到处理特性缓冲程序存储部110中。接着,处理特性缓冲程序生成部114从缓冲程序雏形存储部109中查找与选中的组件特征信息对应的缓冲程序雏形,对该程序片段的信息进行复制,写入到所作成的处理特性缓冲程序900的程序片段902中。对于组件特征信息存储部107所保存的全部组件特征信息,通过由处理特性缓冲程序生成部114作成处理特性缓冲程序和写入程序片段的信息,来结束步骤203。
图10表示作成和写入处理特性缓冲程序的具体例子。图10表示从组件特征信息存储部107和缓冲程序雏形存储部109中抽出处理特性缓冲程序900的基本信息的图。首先,处理特性缓冲程序生成部114将选择出的组件特征信息400的组件名401作为组件名901,作成处理特性缓冲程序900,写入到处理特性缓冲程序存储部110中。
接着,处理特性缓冲程序生成部114参照选中的组件特征信息400的雏形种类405,从缓冲程序雏形存储部109中选择具有与其相同的雏形种类801的信息的缓冲程序雏形800。另外,处理特性缓冲程序生成部114对选择出的缓冲程序雏形800的程序片段802的信息进行复制,作为上述那样作成的处理特性缓冲程序900的程序片段902写入到处理特性缓冲程序存储部110中。
在步骤204中,处理特性缓冲程序生成部114从组件特征信息存储部107中读出一个组件特征信息,从处理特性缓冲程序存储部110中查找与其对应的处理特性缓冲程序。
处理特性缓冲程序生成部114进而一边参照组件特征信息400的信息一边补足处理特性缓冲程序的信息,由此,完成处理特性缓冲程序。对于组件特征信息存储部107所保存的全部组件特征信息,由处理特性缓冲程序生成部114补足处理特性缓冲程序,由此结束步骤204。
图11说明补足处理特性缓冲程序的不足信息的处理的图。处理特性缓冲程序生成部114首先从处理特性缓冲程序存储部110中查找所选择出的具有与组件特征信息400的组件名401相同的组件名901的处理特性缓冲程序900并读入。
接着,处理特性缓冲程序生成部114使用选中的组件特征信息400替换所读入的处理特性缓冲程序900所具有的程序片段902中的代替文本1100。代替文本1100是用步骤203中的复制元的程序片段802进行替换的文本803的部分,被记述为能够明确地与程序片段902的其他地方区别。
处理特性缓冲程序生成部114根据基本函数名402替换暂定的文本1100中的称为“BASE”的文本,根据调用函数名406替换称为“CALLER”的文本,另外根据句柄函数名407替换被写为“HANDLER”的文本,由此,通过确定作为暂定文本1100的全部地方,来完成程序片段。
步骤205是开发者通过输出装置104取得由程序自动生成装置100生成的处理特性缓冲程序的步骤。程序自动生成装置100依照开发者的指示,从处理特性缓冲程序存储部110中读出处理特性缓冲程序,并输出到输出装置104。另外,在由于输入的不足等,程序自动生成装置100无法生成处理特性缓冲程序的情况下,也可以输出用于向开发者通知该情况的信息。另外,在输出时,可以作为文本数据或二进制数据输出使得能够由计算机处理,也可以通过文字或图形而显示在监视器上使得开发者能够阅览。
接着,说明第二实施方式。该实施方式的程序自动生成装置不只是生成缓冲组件的实现的差异的程序,还生成组件自身的程序。在图12中,表示该程序自动生成装置的模块结构图。程序自动生成装置1200除了保存第一实施方式的程序自动生成装置100的结构要素,还保存组件程序存储部1201。另外,处理程序1202除了保存第一实施方式的处理程序111的结构要素以外,还保存组件程序生成部1203。处理程序1202在执行时读入到存储器102,由CPU101执行。
预先向处理特性缓冲规则存储部108、缓冲程序雏形存储部109分别输入处理特性缓冲规则、缓冲程序雏形。处理特性缓冲规则、缓冲程序雏形的详细与第一生活方式一样,另外也可以不一样。
经由输入装置103从外部输入的组件处理内容被写入到组件处理内容存储部106中。组件特征信息抽出部112从由组件处理内容存储部106中读出的组件的处理内容中,抽出处理内容的特征,写入到组件特征信息存储部107中。处理特性缓冲方式判断部113一边参照从处理特性缓冲规则存储部108中读出的处理特性缓冲规则,一边选择与从组件特征信息存储部107中读出的组件特征信息对应的处理特性缓冲方式,补足组件特征信息。
处理特性缓冲程序生成部114参照从组件特征信息存储部107读出的组件特征信息,从缓冲程序雏形存储部109中读出与选择出的缓冲方式对应的缓冲程序雏形,将其作为处理特性缓冲程序写入到处理特性缓冲程序存储部110。进而,参照组件特征信息,补足处理特性缓冲程序,由此完成处理特性缓冲程序。
组件程序生成部1203在从组件处理内容存储部106中读出组件处理内容,作成组件程序后,写入到组件程序存储部1201。
图13是说明本实施方式的程序自动生成装置的处理的流程图的例子。步骤200~步骤205与上述的第一生活方式一样。在步骤1301中,组件程序生成部1203从组件处理内容存储部106中读出组件处理内容,根据该信息,作成组件程序,写入到组件程序存储部1201中。针对组件处理内容存储部106所保存的全部组件处理内容,作成组件程序并写入,由此完成步骤1301。
假设组件处理内容与第一实施方式一样,是图3的形式的信息。组件程序生成部1203根据组件处理内容300的调用处理名304、句柄处理名306作成组件的接口,根据调用处理内容305、句柄处理内容307作成程序的实体。对于调用处理内容305、句柄处理内容307不具有生成程序所需的充分的信息量的情况,也可以通过由组件程序生成部1203只作成组件程序的接口,来完成组件程序的作成。
步骤1302是开发者通过输出装置104取得由程序自动生成装置100生成的组件程序的步骤。程序自动生成装置100依照开发者的指示,从组件程序存储部1201中读出组件程序,并输出到输出装置104。另外,在由于输入的不足等,程序自动生成装置100无法生成组件程序的情况下,也可以输出用于向开发者通知该情况的信息。另外,在输出时,可以作为文本数据或二进制数据输出使得能够由计算机处理,也可以将文字或图形显示在监视器上使得开发者能够阅览。
在本实施方式中,也可以由组件程序生成部1300通过参照组件的特征信息来取得组件的接口信息,根据接口信息生成组件的骨架程序。
另外,组件特征信息抽出部112也可以与组件的处理的特征信息配合地,还取得组件的处理实体的信息,组件程序生成部1300通过参照组件的处理实体的信息,生成组件的程序。
进而,组件程序生成部1300也可以在生成程序时判断组件是否已经存在,在已经存在的情况下,执行预先指定的代替处理,即取消组件程序的合并、生成等。
根据以上说明的程序自动生成的实施方式,能够为了组件的使用者,而缓冲由于构架、框架等利用组件的软件环境的不同产生的基于组件的特征的差异。进而,能够提供一种程序的自动生成装置及其方法,该程序用于向组件的使用者提供使在灵活利用组件时的组件的特征不会由于软件环境的不同而不同的接口。由此,即使在应用程序框架、软件构架有变更的情况下,变更也不会对使用侧的应用程序产生影响,由此能够使修改位置局部化,能够削减包含测试在内的修改作业的成本。
符号的说明
100:程序自动生成装置;101:CPU;102:存储器;103:输入装置;104:输出装置;105:外部存储装置;106:组件处理内容存储部;107:组件特征信息存储部;108:处理特性缓冲规则存储部;109:缓冲程序雏形存储部;110:处理特性缓冲程序存储部;111:处理程序;112:组件特征信息抽出部;113:处理特性缓冲方式判断部;114:组件缓冲程序生成部;1200:程序自动生成装置;1201:组件程序存储部;1202:处理程序;1203:组件程序生成部。

Claims (12)

1.一种程序自动生成装置,针对使用组件的软件环境,自动地生成用于缓冲该组件的特征的程序,其特征在于包括:
执行上述缓冲程序的自动生成的控制器;
具有用于上述缓冲程序的自动生成的控制信息和处理程序的存储器;
上述组件的处理内容的输入装置;
输出自动生成的上述缓冲程序的输出装置,其中
上述存储器将用于缓冲上述组件的多个形式记录为上述控制信息,
上述控制器基于上述处理程序,根据所输入的上述组件的处理内容抽出特征信息,将抽出的该特征信息作为上述控制信息记录到上述存储器中,从上述存储器的控制信息中读入所抽出的上述特征信息和上述多个形式,根据该特征信息从上述多个形式中选择规定的形式,根据选择出的上述形式和上述特征信息,生成上述缓冲程序。
2.根据权利要求1所述的程序自动生成装置,其特征在于:
上述特征信息包括:上述组件的处理的特性信息;上述组件的程序的参照信息。
3.根据权利要求2所述的程序自动生成装置,其特征在于:
上述特性信息包括:上述组件的识别信息;利用上述组件的构架的结构;在该构架中利用的组件的配置。
4.根据权利要求2所述的程序自动生成装置,其特征在于:
上述参照信息包括:上述组件的调用函数名;上述组件的句柄函数名。
5.根据权利要求1所述的程序自动生成装置,其特征在于:
上述多个形式是成为上述缓冲程序的雏形的多个程序。
6.根据权利要求5所述的程序自动生成装置,其特征在于:
上述控制器根据上述特征信息,从上述多个雏形程序中选择特定的雏形程序,并根据选择出的该雏形程序,生成上述缓冲程序。
7.根据权利要求6所述的程序自动生成装置,其特征在于:
上述控制器根据上述特征信息,对选择出的上述雏形程序的程序片段的缓冲对象区域进行补足,并将补足后的该程序作为上述缓冲程序从上述输出装置输出。
8.根据权利要求7所述的程序自动生成装置,其特征在于:
上述程序片段是上述雏形程序所对应的每个应用程序框架的源代码,其一部分是上述缓冲对象区域。
9.根据权利要求8所述的程序自动生成装置,其特征在于:
上述控制器向上述缓冲对象区域中补充上述组件的基本函数、调用函数名、句柄函数名中的至少一个。
10.根据权利要求8所述的程序自动生成装置,其特征在于:
上述缓冲对象区域由代替文本信息构成,
上述控制器根据上述程序片段的代码部分判别上述代替文本信息。
11.根据权利要求5所述的程序自动生成装置,其特征在于:
上述多个雏形程序分别被分类为使用上述组件的构架与上述组件的配置的多种组合的每一种组合。
12.一种程序自动生成方法,针对使用组件的软件环境,自动地生成用于缓冲该组件的特征的程序,其特征在于包括:
将组件的处理内容输入到计算机的步骤;
根据所输入的上述组件的处理内容,由上述计算机抽出特征信息的步骤;
上述计算机根据上述特征信息从用于缓冲上述组件的多个形式中选择规定的形式的步骤;
根据选择出的上述形式和上述特征信息,生成上述缓冲程序的步骤。
CN201210325608.2A 2011-11-11 2012-09-05 程序自动生成装置和程序自动生成方法 Expired - Fee Related CN103106119B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-248099 2011-11-11
JP2011248099A JP5702265B2 (ja) 2011-11-11 2011-11-11 プログラム自動生成装置およびプログラム自動生成方法

Publications (2)

Publication Number Publication Date
CN103106119A true CN103106119A (zh) 2013-05-15
CN103106119B CN103106119B (zh) 2016-02-17

Family

ID=48281916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210325608.2A Expired - Fee Related CN103106119B (zh) 2011-11-11 2012-09-05 程序自动生成装置和程序自动生成方法

Country Status (3)

Country Link
US (1) US9015658B2 (zh)
JP (1) JP5702265B2 (zh)
CN (1) CN103106119B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105807738A (zh) * 2015-01-16 2016-07-27 发那科株式会社 具备使数值控制装置的控制软件最优化的功能的控制***
CN114845843A (zh) * 2020-01-16 2022-08-02 欧姆龙株式会社 程序生成装置、程序生成方法以及生成程序

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9886245B2 (en) 2016-02-24 2018-02-06 Helix Data Solutions LLC Software development tool using a workflow pattern that describes software applications

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032221A (ja) * 2000-07-14 2002-01-31 Nec Corp ソフトウェアコンポーネント自動生成システム
CN1573700A (zh) * 2003-06-13 2005-02-02 微软公司 用于应用框架不可知的异步组件的机制
US20050216885A1 (en) * 2004-03-29 2005-09-29 Sybase, Inc. Attribute-Based Component Programming System and Methodology for Object-Oriented Languages
US20060143570A1 (en) * 2000-12-20 2006-06-29 National Instruments Corporation Automatically generating a sub-graphical program in response to user input configuring a graphical program node
US20060259871A1 (en) * 1999-08-19 2006-11-16 Washington Jeffrey D Programmatically Generating a Graphical Program in Response to User Input
US20100077393A1 (en) * 2008-09-22 2010-03-25 Sun Microsystems, Inc. Method and system for automatically generating software and configuring application installation
US20100199257A1 (en) * 2009-01-31 2010-08-05 Ted James Biggerstaff Automated Partitioning of a Computation for Parallel or Other High Capability Architecture

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875331A (en) * 1994-09-30 1999-02-23 International Business Machines Corp. System and method for generating target language code utilizing an object oriented code generator
JPH1055339A (ja) * 1996-08-13 1998-02-24 Hitachi Ltd オンライン型業務処理システム
US8302072B2 (en) * 2000-06-05 2012-10-30 National Instruments Corporation System and method for programmatically generating a graphical program based on a sequence of motion control, machine vision, and data acquisition (DAQ) operations
US7917889B2 (en) * 2006-06-19 2011-03-29 International Business Machines Corporation Data locations template based application-data association and its use for policy based management
JP2009230606A (ja) * 2008-03-25 2009-10-08 Hitachi Software Eng Co Ltd ソースコードテンプレート生成装置
JP2010237895A (ja) * 2009-03-31 2010-10-21 Hitachi Automotive Systems Ltd 車載電子制御装置,制御ソフトウェアおよび制御ソフトウェアの開発ツール
JP2010277572A (ja) * 2009-04-28 2010-12-09 Sharp Corp コード生成プログラム、それを記録したコンピュータ読み取り可能な記録媒体、コード生成装置、およびコード生成方法
JP5418135B2 (ja) * 2009-10-16 2014-02-19 富士通株式会社 テストプログラム実行プログラム、テストプログラム実行方法、およびテストプログラム実行装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259871A1 (en) * 1999-08-19 2006-11-16 Washington Jeffrey D Programmatically Generating a Graphical Program in Response to User Input
JP2002032221A (ja) * 2000-07-14 2002-01-31 Nec Corp ソフトウェアコンポーネント自動生成システム
US6996801B2 (en) * 2000-07-14 2006-02-07 Nec Corporation System and method for automatically generating program
US20060143570A1 (en) * 2000-12-20 2006-06-29 National Instruments Corporation Automatically generating a sub-graphical program in response to user input configuring a graphical program node
CN1573700A (zh) * 2003-06-13 2005-02-02 微软公司 用于应用框架不可知的异步组件的机制
US20050216885A1 (en) * 2004-03-29 2005-09-29 Sybase, Inc. Attribute-Based Component Programming System and Methodology for Object-Oriented Languages
US20100077393A1 (en) * 2008-09-22 2010-03-25 Sun Microsystems, Inc. Method and system for automatically generating software and configuring application installation
US20100199257A1 (en) * 2009-01-31 2010-08-05 Ted James Biggerstaff Automated Partitioning of a Computation for Parallel or Other High Capability Architecture

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105807738A (zh) * 2015-01-16 2016-07-27 发那科株式会社 具备使数值控制装置的控制软件最优化的功能的控制***
CN105807738B (zh) * 2015-01-16 2018-07-06 发那科株式会社 具备使数值控制装置的控制软件最优化的功能的控制***
US10088834B2 (en) 2015-01-16 2018-10-02 Fanuc Corporation Control system having function for optimizing control software of numerical controller in accordance with machining program
CN114845843A (zh) * 2020-01-16 2022-08-02 欧姆龙株式会社 程序生成装置、程序生成方法以及生成程序

Also Published As

Publication number Publication date
JP5702265B2 (ja) 2015-04-15
JP2013105286A (ja) 2013-05-30
US20130125091A1 (en) 2013-05-16
US9015658B2 (en) 2015-04-21
CN103106119B (zh) 2016-02-17

Similar Documents

Publication Publication Date Title
CN1858786B (zh) 一种电子文档格式化批注***与方法
CN100570556C (zh) 测试国际化软件的方法和设备
JP4876511B2 (ja) ロジック抽出支援装置
CN102831052B (zh) 测试用例自动化生成装置及方法
CN108885611B (zh) 文档自动化
CN108762743B (zh) 一种数据表操作代码生成方法及装置
CN110990053A (zh) 机器学习方案模板的创建方法、使用方法及装置
CN108920382B (zh) 测试用例生成方法、装置、存储介质及服务器
CN101923537B (zh) 在图形用户界面中显示多个文档的方法和装置
JP6845911B1 (ja) 文字処理システム及びプログラム
CN103106119B (zh) 程序自动生成装置和程序自动生成方法
CN104049947A (zh) 基于动态重命名的矢量寄存器堆的寄存器重新配置
CN103365772B (zh) 软件测试自动评价装置以及方法
CN109634569A (zh) 基于注解的流程实现方法、装置、设备及可读存储介质
CN109491884A (zh) 代码性能检测方法、装置、计算机设备和介质
CN107886309A (zh) 文档自动审查工具
JPH03294925A (ja) 同値データ項目検出方法
JP2013077124A (ja) ソフトウェアテストケース生成装置
CN105843661B (zh) 一种面向主机***的代码重定位方法及其***
US7516481B2 (en) Program development supporting apparatus, method, program and recording medium
US10915682B1 (en) Remodeling testing method for remodeling text-based display design to thereby achieve graphic-based display design and design remodeling testing device using the same
do Carmo Editing actions: a missing link between translation process research and machine translation research
CN113918165A (zh) 文字描述式流程说明编译为应用自动操作脚本方法及***
JP2012098870A (ja) テスト結果照合システム、方法、及びプログラム
US20230251857A1 (en) Development support device, non-transitory computer-readable medium, and development support method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160217

Termination date: 20180905

CF01 Termination of patent right due to non-payment of annual fee