CN107885493B - 程序制作支持方法及程序制作支持装置 - Google Patents

程序制作支持方法及程序制作支持装置 Download PDF

Info

Publication number
CN107885493B
CN107885493B CN201710880375.5A CN201710880375A CN107885493B CN 107885493 B CN107885493 B CN 107885493B CN 201710880375 A CN201710880375 A CN 201710880375A CN 107885493 B CN107885493 B CN 107885493B
Authority
CN
China
Prior art keywords
function
codes
functions
program
selecting
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.)
Active
Application number
CN201710880375.5A
Other languages
English (en)
Other versions
CN107885493A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co 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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Publication of CN107885493A publication Critical patent/CN107885493A/zh
Application granted granted Critical
Publication of CN107885493B publication Critical patent/CN107885493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

提供一种程序制作支持方法及程序制作支持装置。即使是复杂的程序,本发明也能够在实现成本降低的同时对该程序的制作进行支持。从信息软件(21)中包含的多个代码中除去不必要的因素,制成多个基础代码。按照规定的抽取法则从各基础代码中抽取与多个功能分别相关的多个指定信息。抽取出的指定信息用于让用户间接或直接地选定预定生成的新检查软件(222)中包含的功能或处理内容。让用户制作流程,该流程由通过上述选定来被定义的构成要素构成。与该流程中含有的各构成要素建立有关联的函数通过被写入到模板(规定的样式),自动生成记述新检查软件(222)的新的代码。

Description

程序制作支持方法及程序制作支持装置
技术领域
本发明涉及支持程序制作的方法及装置。
背景技术
使用车辆检查装置对搭载在车辆上的多个ECU分别进行检查的检查程序通常由技术熟练且具有丰富的知识和经验的专家或程序设计员制作完成。在现有技术中,被提案有以下的方法:从程序流程图的图形数据中自动读取方框流程图的种类以及连接关系,自动地确定方框流程图的排列顺序,并将其转换成与各方框流程图相对应的命令语句,由此能够自动生成具有较为简单的共同规格的程序。
现有技术文献
专利文献
专利文献1:日本特开2000-242479号公报
专利文献2:日本特开2000-339150号公报
专利文献3:日本特开平11-353169号公报
专利文献4:国际公开公报WO2007/037310号
专利文献5:日本特开平6-318151号公报
专利文献6:日本特开平6-214777号公报
专利文献7:日本特开平9-198236号公报
发明内容
发明要解决的课题
然而,例如新型号车辆的复杂的检查程序仅停留在被制作成能够对应的型号以及限定了ECU的单独(stand alone)的程序上,而且其制作成本较高。
因此,本发明的目的在于提供一种即使是制作复杂的程序也能够在实现成本降低的同时支持该程序制作的方法。
用于解决课题的方式
本发明的程序制作支持方法的特征在于执行以下处理:第1处理,从多个代码中除去不必要的因素,由此制成多个基础代码,并按照规定的抽取法则从所述多个基础代码的各个代码中抽取与所述多个功能的各个功能分别相关的多个指定信息,其中所述多个代码记述可编译的现有程序中所包含的多个功能;第2处理,通过从多个记号中选定至少一个记号,并且从多个指定信息中选定至少一个指定信息,制作由下述至少两个构成要素构成的新的流程,其中,上述至少两个构成要素是通过由记号及功能来被定义且与多个函数分别建立有关联的多个构成要素中通过上述被选定的记号和与上述被选定的指定信息相关的功能来被定义的构成要素;以及,第3处理,通过将所述多个函数中与所述至少两个构成要素的各个构成要素建立有关联的至少两个函数写入规定的样式中,生成记述新的程序的新的代码。
根据本发明的程序制作支持方法,从现有程序中包含的多个代码中除去不必要的因素,由此制成多个基础代码。因此,能够防止由不必要因素引起的规定的抽取法则的适用受到妨碍的情况,能够从多个基础代码中分别按照该规定的抽取法则可靠地抽取与多个功能的各功能相关的多个指定信息。另外,由于现有程序是可编译的,能够防止无法执行的无意义的代码所对应的指定信息被抽取出。
被抽取出的指定信息用于让用户间接或直接地选定新制作的程序中包含的功能或处理内容。也即,通过记号的选定以及通过指定信息选定而被实现的功能选定,能够让用户制作由该选定记号及该选定功能定义的构成要素所构成的流程。因此,能够可靠地避免流程制作时用户的错误输入和误写,实现提高流程制作精度。
并且,与制成的流程中包含的各构成要素建立有关联的函数被写入规定的样式,由此,自动生成对新的程序进行记述的新的代码。
因此,即便用户的程序制作技能并不高,但只要能够一定程度上理解程序规格,就能够生成具有所希望规格的高品质的程序,能够实现该程序制作成本的下降。
附图说明
图1是关于存储有LET软件的车辆检查装置的构成的示意图。
图2是关于检查软件的构成的示意图。
图3是关于作为本发明一实施方式的程序制作支持方法的示意图。
图4A是关于基础代码制作、指定信息抽取的第1例的示意图。
图4B是关于基础代码制作、指定信息抽取的第2例的示意图。
图5是流程制作支持用界面的示例图。
图6A是流程图形的函数化的示例图。
图6B是新程序的模板(template)(样式)的示例图。
图7A是基于制成的流程而获得的函数名的分配结果以及自变量的抽取结果的示例图。
图7B是连号函数的示例图。
图7C是关于新的程序代码的示例图。
图8A是流程的选择路径的第1示例图。
图8B是流程的选择路径的第2示例图。
具体实施方式
(车辆检查装置的构成)
以下说明作为本发明的一实施方式的程序制作支持方法。构成本实施方式中的生成对象的程序是车辆检查装置10(以下,适当地称作LET(Line End Tester))上使用的LET软件20的一部分程序(新检查软件222(参照图2))。其中,车辆检查装置10用于诊断图1所示的车辆42的诸项功能。车辆检查装置10具备作为功能要素的输入/输出功能要素11、车辆通信功能要素12、无线通信功能要素13、文档功能要素14及运行管理功能要素15。各功能要素由LET软件20(software)、以及执行与LET软件20相对应的运算处理的处理器或处理器核心(硬件)构成。
输入/输出功能要素11向检查操作者41提供输出界面和输入界面。其中,输出界面用于借助显示器(车辆检查装置10的构成要素)输出为了检查车辆42的诸项功能是所需的信息以及检查结果等信息;输入界面用于让检查操作者41借助按钮(车辆检查装置10的构成要素)输入用于进行该检查的操作/指示。
车辆通信功能要素12通过有线与构成检查对象的车辆42、例如搭载在车辆42上的多个ECU(电子控制单元)的各个ECU分别进行数据通信。
无线通信功能要素13通过无线与外界器械43进行数据通信。外接器械43上包括设置在车辆42的检查设备中、且与车辆2之间对该设备的检查数据进行通信的QA机。
文档功能要素14读取输入文档441,制作表示检查结果的输出文档442。输入文档441表示设定、实施检查/步骤信息及参数等信息。
运行管理功能要素15基于由文档功能要素14读取的信息,对检查软件22输出启动/运行指示。
(程序制作支持用应用软件的构成)
如图2所示,执行本发明的程序制作支持方法的应用软件1是以下一种软件:通过将该应用软件1安装到计算机上,获取程序功能(用于规定流程的格式并与程序函数23建立链接的数据),在此基础上,将执行流程(flowchart)制作支持处理2、软件自动生成处理4及检验设定自动生成处理6的功能赋予该计算机。
用于实现车辆检查装置10的上述诸项功能的LET软件20由信息软件21、多个现有的检查软件221(现有程序)、多个新检查软件222(新程序)、程序函数23、检查软件库24、设定文档25、系统26及OS(Operating System)28构成。现有检查软件221及新检查软件222适当地统一称为或者并不加区分地称为“检查软件22”。
信息软件21通过检查软件22中共同的指定信息或通用信息来被定义。信息软件21与搭载在车辆42上的各ECU进行通信,并根据ECU传来的回复结果执行判定。由于车辆42的ECU信息等是在检查软件22中被共同使用的信息,因此该ECU信息等属于独立的文档。信息软件21与多个检查软件22的各软件之间联动,对使该多个检查软件22的各个软件运行时的信息进行归总。除了在与检查软件22之间联动而运行时使用的全局变量(globalvariables),还有表示相对检查软件22共同被使用的车辆42的状况(引擎转数及引擎冷却水温等)的全局变量通过“LET信息”来被定义。检查软件22中与车辆22的各ECU之间通信所需的参数(地址(adress)、重试次数、超时时间等)以及命令信息(命令数据及命令数据长度等)通过“车辆信息”来被定义。同样,检查软件22中与各设备或者与其外界器械43之间通信所需的参数及命令信息通过“设备信息”来被定义。
检查软件22继承检查软件库24而被制成。通过将信息软件21的信息传递给检查软件库24的函数逐步执行处理,检查软件22执行各种检查。
在检查软件库24中,检查软件22中共同执行的处理被施以函数化。
设定文档25通过应用软件1的检验设定自动生成处理6而被自动设定。与设定文档25对应的设定文档35通过应用软件1的检验设定自动生成处理6而被自动设定,并被赋予虚拟检验器30。
系统26执行车辆检查装置10的显示器上的图像输出以及与车辆42的通信等控制。
(功能)
以下对应用软件1的功能进行说明。该功能通过以下方式执行:处理器(单核处理器或多核处理器等)从该处理器的内部或外界的记忆体读入所需数据及软件,并按照该软件对该数据执行运算处理,其中,上述处理器构成安装有上述应用软件1的计算机。执行第1处理、第2处理及第3处理的功能要素分别相当于第1处理要素、第2处理要素及第3处理要素,各要素由处理器构成。
应用软件1的流程制作支持处理2执行“第1处理”(图3/步骤02)。具体而言,从记述包含在信息软件21中的多个功能的多个代码(code)中除去不必要的因素,由此制作多个基础代码。按照规定的抽取法则从多个基础代码的各个代码中抽取与多个功能的各个功能相关的多个指定信息。被抽取出的指定信息被保持在流程制作支持处理2中。
除去不必要的因素是指:用于消除程序设计员编写代码的写法的不同之处、且在考虑了该不同之处的基础上构筑算法(algorithm)的处理。具体来讲,需要区分“空白”作为源代码是必要的空白、还是为了提高可读性等的不必要的空白。需要区分“转行”是用于连接前一行的命令语句、还是相对前一行是独立的命令语句。需要根据代码预测“变量”及“常量”的值。需要删除与程序运行无关的“注释(comment)”。
例如,通过从图4A上侧所示的代码中删除第1行的注释“//命令(command)”,制作如图4A下侧所示的由第2行的代码“command=Set Command(“Read",3,1,2,3);”构成的基础代码。然后,从该基础代码中抽取命令名“Read”作为指定信息,并被保持在流程制作支持处理2中。
在图4B上侧所示的代码中,由于第2行和第3行的代码是一个命令语句,从该代码中删除第2行和第3行的转行,根据第1行的代码“const int size=3;”,将第3行的代码“SetCommand(“Read”,size,1,2,3));”中的“size”部分置换成常数值“3”,由此制成如图4B下侧所示的基础代码。从基础代码中抽取原先的代码的第3行代码“Setcommand(“Read",size,1,2,3)中的命令名“Read”作为指定信息,并将其保持在流程制作支持处理2中。
由应用软件1的流程制作支持处理2执行“第2处理”(图3/步骤04)。具体而言,通过借助输出界面提供多个记号,让用户借助输入界面从该多个记号中选定任意的记号。同样,通过借助输出界面提供多个指定信息(被保持在流程制作支持处理2中的指定信息),让用户借助输入界面从该多个指定信息之中选定任意的指定信息。从而制成由下述构成要素定义的流程,该构成要素通过记号选定以及与指定信息的选定相对应的功能的间接性的选定来被定义。
例如,在安装有应用软件1的计算机或信息终端的显示器(构成输出界面)上显示图5中所示的流程制作支持用的画面。在该画面中除了显示有记号选择栏X1,还显示有功能或处理内容的大分类选择栏X2、中分类选择栏X3及小分类选择栏X4、指定信息选择栏X5和确定按钮X6。在记号选择栏X1中,显示有与处理、定义完毕处理、准备、判断、手动操作输入、内部存储、存储数据、端点符(terminal)及连接符(connector)等的功能种类对应的多个记号。通过触摸板按钮等输入界面从记号选择栏X1中选定一个记号。接着,从选择栏X2~X5中显示的下拉菜单中依次选择大分类、中分类、小分类及指定信息。然后,通过操作确定按钮X6,选定通过下述功能来被定义的构成要素。该功能是指通过上述被选择的记号、被选择的大分类、中分类、小分类及指定信息的组合来被确定的功能。
通过从现有检查软件221及其流程中抽取的流程的记号及功能来被定义的、分别表示多个功能的多个构成要素(例如500以上的构成要素)事先被施以函数化,构成要素与函数建立关联地保存在程序函数23中。例如,对图6A的各行左栏中所示的构成要素分配各行中栏中所示的函数组。上述各行左栏中所示的构成要素通过图6A的各行右栏中所示的功能来被定义。新检查软件222的模板或样式被保存在程序函数23中。例如,准备有如图6B所示的模板。“{?}”是针对函数指针的数组(array)而被准备。
通过按照上述方式多次重复上述构成要素的选定操作,例如制成包括如图7A左侧所示的构成要素步骤21~步骤24的流程。
然后,由应用软件1的软件自动生成处理4执行“第3处理”(图3/步骤06)。具体而言,在多个函数当中与包含在新制成的流程中的各构成要素建立有关联的各函数被写入到模板(规定的样式)中,由此生成记述新的程序的新的代码。
首先,对构成流程的多个构成要素的各个构成要素分配数字编号(连号),从各构成要素的记号及功能中确定出函数名,并抽取出其自变量。对构成图7A左侧所示的流程的步骤21~步骤24的各步骤(STEP)分别分配图7A右侧的表的左栏中所示的数字编号1~4(以及表的右栏中所示的与该数字编号相连的数字编号),确定出表的左中栏中所示的函数名,并抽取出表的右中栏中所示的自变量。
基于被分配了函数名和自变量的数字编号,自动生成对应该数字编号的函数。由此,生成图7B中所示的函数。命令句“int F●(int*x)”中的“●”部分构成数字编号。命令句“return Func_A(2,x,0);”中的“Func_A”部分构成函数名,“2”构成接着要执行的函数的数字编号,“x”及“0”构成自变量。命令句“printf(“%d”,*x);”构成为了补充利用事先准备的函数组是不充分的功能而直接写入的代码。
在执行代码的函数指针中写入函数的地址。由此,针对例如图6B所示的模板的函数指针“*fp[?]”以及“{?}”分别写入如图7B所示的函数的个数上加上1的数“5”以及“0,&F1,&F2,&F3,&F4”,由此,生成如图7C所示的通过代码记述的新的程序。
通过应用软件1的检验设定自动生成处理,生成设定文档25及设定文档35,并分别保存到车辆检查装置10及虚拟检验器30中。设定文档25中包含构成运行对象的检查软件、超时时间的设定以及检查软件的判定值等。设定文档35中包含构成检查对象的ECU、被使用的命令及对命令的响应(虚拟传感器的测定值)等。
为了确认生成的新的检查软件222的规格是否是计划中的规格,执行流程中全路径的通信检验。其中,上述流程表示由上述检查软件222执行的一系列的处理。在进行该检验时,车辆检查装置10并不与车辆42连接,而是与作为虚拟车辆的虚拟检验器30连接。在操作者逐步选择流程的路径时,其路径的图形、箭头的色彩逐步发生变化,并以能够通过该路径的方式自动地计算设定。
在PC的显示器上显示流程。由此,例如分别在图8A左侧及图8B左侧所示的流程被显示到显示器上。通过操作PC的键盘或鼠标等选择流程的路径。由此,例如如图8A左侧所示那样,以处理步骤41、分支步骤42及处理步骤43的顺序经过的路径被选择、或者如图8B左侧所示那样,以处理步骤41、分支步骤42及处理步骤44的顺序经过的路径被选择。对应于图7A左侧的选定路径,如图7A右侧的表中所示那样进行变迁的状况的模拟(simulation)结果被显示到显示器上。自动生成能够让车辆检查装置10和虚拟检验器30按照选择后的路径运行的设定文档25及设定文档35。通过将设定文档25导入车辆检查装置10、将设定文档35导入虚拟检验器30并分别使之运行,能够让用户确认检查软件是否生成为所被期望的规格。
(作用效果)
根据本发明的程序制作支持方法,从包含在信息软件21中的多个代码中除去不必要的因素来制成多个基础代码(参照图4A及图4B)。因此,能够防止由不必要因素引起的规定的抽取法则的适用受到妨碍的情况,能够从多个基础代码中分别按照该规定的抽取法则可靠地抽取与多个功能的各功能相关的多个指定信息。另外,由于现有程序是可编译的,能够防止无法执行的、因而是无意义的代码所对应的指定信息被抽取出。
被抽取出的指定信息用于让用户间接或直接地选定预定生成的新检查软件222中包含的功能或处理内容(参照图5)。也即,通过记号的选定和通过指定信息选定而被实现的功能选定,能够让用户制作由该选定记号及该选定功能定义的构成要素所构成的流程。因此,能够可靠地避免流程制作时用户的错误输入和误写,实现提高流程制作精度。
并且,与制成的流程(参照图7A左侧)中包含的各构成要素建立有关联的函数(参照图7B右侧)被写入模板(规定的样式(参照图6B)),由此,自动生成记述新检查软件222的新的代码(参照图7C)。
由此,即便用户的程序制作技能并不高,但只要一定程度上理解程序规格,就能够生成具有所希望规格的高品质的程序,能够实现该程序制作成本的下降。

Claims (12)

1.一种程序制作支持方法,用于支持程序的制作,其特征在于,执行以下处理:
第1处理,从多个代码中除去不必要的因素,由此制成多个基础代码,并按照规定的抽取法则从所述多个基础代码的各个代码中抽取与可编译的现有程序中所包含的多个功能的各个功能分别相关的多个指定信息,其中所述多个代码记述所述多个功能,所述不必要的因素起因于程序设计员编写代码的写法的不同之处,从所述多个代码中除去不必要的因素的步骤包括以下步骤:区分所述多个代码中包含的空白作为源代码是必要的空白、还是为了提高可读性等的不必要的空白;区分所述多个代码中包含的转行是用于连接前一行的命令语句、还是相对于前一行是独立的命令语句;根据代码预测所述多个代码中包含的变量及常量的值;以及删除所述多个代码中包含的与程序运行无关的注释;
第2处理,通过从多个记号中选定至少一个记号,并且从多个指定信息中选定至少一个指定信息,制作由下述至少两个构成要素构成的新的流程,其中,上述至少两个构成要素是通过由记号及功能来被定义且与多个函数分别建立有关联的多个构成要素中通过被选定的所述记号和与被选定的所述指定信息相关的功能来被定义的构成要素;以及
第3处理,通过将所述多个函数中与所述至少两个构成要素的各个构成要素建立有关联的至少两个函数写入规定的样式中,生成记述新的程序的新的代码。
2.根据权利要求1所述的程序制作支持方法,其特征在于,
所述新的程序是车辆诊断用软件中的至少一部分程序,所述车辆诊断用软件在用于诊断车辆的诸项功能的车辆检查装置中被使用。
3.根据权利要求1所述的程序制作支持方法,其特征在于,
所述第2处理包括以下步骤:
将与下述功能种类对应的所述多个记号显示到输出界面的步骤,其中,所述功能种类包括以下功能中的至少一项功能:处理、定义完毕处理、准备、判断、手动操作输入、内部存储、记忆数据、端点符及连接符;以及
通过输入界面选定至少一个所述记号的步骤。
4.根据权利要求1所述的程序制作支持方法,其特征在于,
所述第2处理包括以下步骤:
将用于依次选定一次分类、二次分类及所述指定信息的输入栏显示到输出界面的步骤;以及
借助输入界面选定所述一次分类、选定包含在被选定的上述一次分类中的第二分类、以及选定包含在被选定的上述二次分类中的至少一个所述指定信息的步骤。
5.根据权利要求1所述的程序制作支持方法,其特征在于,
所述第3处理包括以下步骤:
对构成所述流程的所述至少两个构成要素的各个构成要素分配数字编号的步骤;
从所述至少两个构成要素的各个构成要素的记号及功能中确定出函数名的步骤;
抽取与所述函数名对应的自变量的步骤;
基于被分配了所述函数名及所述自变量的所述数字编号生成与该数字编号相对应的所述函数的步骤;以及
通过将所述函数的地址写入执行代码的函数指针来生成所述新的代码的步骤。
6.根据权利要求1所述的程序制作支持方法,其特征在于,
在所述规定的样式中包含为了补充利用事先准备的函数组是不充分的功能而直接写入的代码。
7.一种程序制作支持装置,用于支持程序的制作,其特征在于:
具备处理器,该处理器具备第1处理要素、第2处理要素及第3处理要素,
所述第1处理要素从多个代码中除去不必要的因素,由此制成多个基础代码,并按照规定的抽取法则从所述多个基础代码的各个代码中抽取与可编译的现有程序中所包含的多个功能的各个功能分别相关的多个指定信息,其中所述多个代码记述所述多个功能,所述不必要的因素起因于程序设计员编写代码的写法的不同之处,从所述多个代码中除去不必要的因素的步骤包括以下步骤:区分所述多个代码中包含的空白作为源代码是必要的空白、还是为了提高可读性等的不必要的空白;区分所述多个代码中包含的转行是用于连接前一行的命令语句、还是相对于前一行是独立的命令语句;根据代码预测所述多个代码中包含的变量及常量的值;以及删除所述多个代码中包含的与程序运行无关的注释;
所述第2处理要素通过从多个记号中选定至少一个记号,并且从多个指定信息中选定至少一个指定信息,制作由下述至少两个构成要素构成的新的流程,其中,上述至少两个构成要素是通过由记号及功能来被定义且与多个函数分别建立有关联的多个构成要素中通过被选定的所述记号和与被选定的所述指定信息相关的功能来被定义的构成要素;
所述第3处理要素通过将所述多个函数中与所述至少两个构成要素的各个构成要素建立有关联的至少两个函数写入规定的样式中,生成记述新的程序的新的代码。
8.根据权利要求7所述的程序制作支持装置,其特征在于,
所述新的程序是车辆诊断用软件中的至少一部分程序,所述车辆诊断用软件在用于诊断车辆的诸项功能的车辆检查装置中被使用。
9.根据权利要求7所述的程序制作支持装置,其特征在于,
所述第2处理要素具备执行以下步骤的功能要素:
将与下述功能种类对应的所述多个记号显示到输出界面的步骤,其中,所述功能种类包括以下功能中的至少一项功能:处理、定义完毕处理、准备、判断、手动操作输入、内部存储、记忆数据、端点符及连接符;以及
通过输入界面选定至少一个所述记号的步骤。
10.根据权利要求7所述的程序制作支持装置,其特征在于,
所述第2处理要素具备执行以下步骤的功能要素:
将用于依次选定一次分类、二次分类及所述指定信息的输入栏显示到输出界面的步骤;以及
借助输入界面选定所述一次分类、选定包含在被选定的上述一次分类中的第二分类、以及选定包含在被选定的上述二次分类中的至少一个所述指定信息的步骤。
11.根据权利要求7所述的程序制作支持装置,其特征在于,
所述第3处理要素具备执行以下步骤的功能要素:
对构成所述流程的所述至少两个构成要素的各个构成要素分配数字编号的步骤;
从所述至少两个构成要素的各个构成要素的记号及功能中确定出函数名的步骤;
抽取与所述函数名对应的自变量的步骤;
基于被分配了所述函数名及所述自变量的所述数字编号生成与该数字编号相对应的所述函数的步骤;以及
通过将所述函数的地址写入执行代码的函数指针来生成所述新的代码的步骤。
12.根据权利要求7所述的程序制作支持装置,其特征在于,
在所述规定的样式中包含为了补充利用事先准备的函数组是不充分的功能而直接写入的代码。
CN201710880375.5A 2016-09-28 2017-09-26 程序制作支持方法及程序制作支持装置 Active CN107885493B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-190452 2016-09-28
JP2016190452A JP6433468B2 (ja) 2016-09-28 2016-09-28 プログラム作成支援方法

Publications (2)

Publication Number Publication Date
CN107885493A CN107885493A (zh) 2018-04-06
CN107885493B true CN107885493B (zh) 2021-04-13

Family

ID=61685350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710880375.5A Active CN107885493B (zh) 2016-09-28 2017-09-26 程序制作支持方法及程序制作支持装置

Country Status (3)

Country Link
US (1) US20180088914A1 (zh)
JP (1) JP6433468B2 (zh)
CN (1) CN107885493B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021090890A1 (ja) * 2019-11-08 2021-05-14 大日本印刷株式会社 ソフトウェア作成装置、ソフトウェア作成方法、およびプログラム
CN111427561A (zh) * 2020-03-26 2020-07-17 中国建设银行股份有限公司 业务代码的生成方法、装置、计算机设备和存储介质
WO2023281630A1 (ja) * 2021-07-06 2023-01-12 三菱電機株式会社 プログラミング支援装置、プログラミング支援方法、およびプログラミング支援プログラム
CN115934551A (zh) * 2022-12-19 2023-04-07 中通维易科技服务有限公司 一种基于数据流分析的软件检测方法
CN118519622B (zh) * 2024-07-22 2024-10-11 珠海金智维信息科技有限公司 低代码化的流程图动态配置及自定义交互的系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09292986A (ja) * 1996-04-26 1997-11-11 Hitachi Ltd 部品抽出方法
JPH11259282A (ja) * 1998-03-12 1999-09-24 Toshiba Corp プログラム合成装置及びプログラム合成方法
CN103543993A (zh) * 2012-07-11 2014-01-29 深圳市华高软件科技有限公司 应用程序构建方法和系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5542023A (en) * 1991-06-05 1996-07-30 Hitachi, Ltd. Multi-media reproduction processing apparatus
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
GB0028079D0 (en) * 2000-11-17 2001-01-03 Imperial College System and method
US20020196282A1 (en) * 2001-06-20 2002-12-26 Washington Jeffrey D. Collector node for a graphical program
US20040009813A1 (en) * 2002-07-08 2004-01-15 Wind Bradley Patrick Dynamic interaction and feedback system
US20060241961A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of optimizing legacy application layer control structure using refactoring
JP5018768B2 (ja) * 2006-03-10 2012-09-05 富士通株式会社 適用パッチ選別装置及び適用パッチ選別方法
US7516141B2 (en) * 2006-06-05 2009-04-07 Research In Motion Limited System and method for generating runtime metadata for use in the development of mobile device applications
JP5447368B2 (ja) * 2008-03-12 2014-03-19 日本電気株式会社 新規事例生成装置、新規事例生成方法及び新規事例生成用プログラム
US20110088011A1 (en) * 2009-10-14 2011-04-14 Vermeg Sarl Automated Enterprise Software Development
US8739150B2 (en) * 2010-05-28 2014-05-27 Smartshift Gmbh Systems and methods for dynamically replacing code objects via conditional pattern templates
CA2716770C (en) * 2010-10-06 2012-03-13 Ibm Canada Limited - Ibm Canada Limitee Application services source refactoring
JP2013097470A (ja) * 2011-10-28 2013-05-20 Mitsubishi Electric Corp ソースファイル再利用支援装置、ソースファイル再利用支援方法、及び、プログラム
WO2013061468A1 (ja) * 2011-10-28 2013-05-02 富士通株式会社 画像生成方法、情報処理方法、プログラム、及び情報処理装置
US9110680B1 (en) * 2013-03-14 2015-08-18 Amazon Technologies, Inc. Avoiding or deferring data copies
EP3201701B1 (en) * 2014-09-30 2020-02-26 Siemens Schweiz AG Configuring a common automation system controller
JP6577392B2 (ja) * 2016-03-15 2019-09-18 株式会社キーエンス プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援装置で実行することが可能なコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09292986A (ja) * 1996-04-26 1997-11-11 Hitachi Ltd 部品抽出方法
JPH11259282A (ja) * 1998-03-12 1999-09-24 Toshiba Corp プログラム合成装置及びプログラム合成方法
CN103543993A (zh) * 2012-07-11 2014-01-29 深圳市华高软件科技有限公司 应用程序构建方法和系统

Also Published As

Publication number Publication date
US20180088914A1 (en) 2018-03-29
JP6433468B2 (ja) 2018-12-05
JP2018055389A (ja) 2018-04-05
CN107885493A (zh) 2018-04-06

Similar Documents

Publication Publication Date Title
CN107885493B (zh) 程序制作支持方法及程序制作支持装置
US7552024B2 (en) Circuit board diagnostic operating center
TWI436180B (zh) 程式分析支援裝置
US8694958B1 (en) Marking up objects in code generation
CN106776334B (zh) 基于注释生成测试用例方法及装置
US7895575B2 (en) Apparatus and method for generating test driver
EP1942386A1 (en) Simulation data creation supporting device
US20090187892A1 (en) Apparatus and program for test case generation
EP3418889A1 (en) Software analysis apparatus and software analysis method
CN111680463A (zh) 一种文件检查方法和装置
CN113342692B (zh) 测试用例自动生成方法、装置、电子设备及存储介质
JP2018073054A (ja) オブジェクト分析装置、オブジェクト分析方法、及びプログラム
JP4791990B2 (ja) プラントモデル開発システム
CN106294109A (zh) 获取缺陷代码的方法及装置
CN110704252B (zh) 一种基于云端动态管理的自动测试装置和测试方法
CN112765018A (zh) 一种仪器仪表调试系统及方法
CN113238969A (zh) 界面自动化测试方法、装置、设备及存储介质
JP2008299502A (ja) テストケース妥当性自動検証プログラムおよびテストケース妥当性自動検証結果表示方法
CN110956676A (zh) 一种多轴曲线的绘制方法、装置及电子设备
KR100591354B1 (ko) 컴퓨터를 사용한 프로그램 작성장치
CN116991706B (zh) 车辆自动化测试方法、装置、设备及存储介质
CN118604420A (zh) 芯片测试波形显示方法、系统、装置和存储介质
JP5595224B2 (ja) ラダープログラム比較方法
CN118397308A (zh) 页面相似度检测方法、装置、电子设备和存储介质
CN110637522B (zh) 控制律增益模型自动生成方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant