宏脚本的转换系统、方法、电子设备、介质和程序产品与流程
本技术实施例主要涉及工业数字化领域,尤其涉及一种宏脚本的转换系统、方法、电子设备、介质和程序产品。
背景技术:
1、随着仿真建模和分析自动化需求的不断增加,大多数行业软件平台,例如cad、cae、cam、plc软件都具有基于脚本的集成自动化功能,这些功能使得用户能够使用脚本自动执行模型构建、调整和仿真设置等任务。
2、尽管在模型构建和模型分析的方式在不同的行业软件平台上是相似的,但是不同软件都有各自独特的脚本规则集,目前,若要将自动化流程从a软件迁移到b软件需要仿真专家深入了解a软件与b软件的自动化流程,并在b软件中手动重构自动化脚本,因此相应迁移的成本非常高昂,导致大多数最终用户望而却步。
技术实现思路
1、本技术实施例提供一种宏脚本的转换系统、方法、电子设备、介质和程序产品,通过本技术实施例可以准确且快速地将源软件的宏脚本转换为目标软件的宏脚本。
2、第一方面,提供一种宏脚本的转换系统,包括:接收模块,被配置为:接收用户输入的第一宏脚本以及源软件的名称和目标软件的名称;其中,所述第一宏脚本包括所述源软件的宏脚本;代码翻译代理模块,被配置为:将第一宏脚本转换为对应的自然语言和伪代码;代码生成代理模块,被配置为:基于所述自然语言和伪代码,创建所述目标软件的名称对应的宏脚本。
3、第二方面,提供一种宏脚本的转换方法,包括:接收用户输入的第一宏脚本以及源软件的名称和目标软件的名称;其中,所述第一宏脚本包括所述源软件的宏脚本;通过代码翻译代理将第一宏脚本转换为对应的自然语言和伪代码;基于所述自然语言和伪代码,通过代码生成代理创建所述目标软件的名称对应的宏脚本。
4、第三方面,提供一种电子设备,包括:至少一个存储器,被配置为存储计算机可读代码;至少一个处理器,被配置为调用所述计算机可读代码,执行第二方面提供的方法中各步骤。
5、第四方面,提供一种计算机可读介质,所述计算机可读介质上存储有计算机可读指令,所述计算机可读指令在被处理器执行时,使所述处理器执行第二方面提供的方法中各步骤。
6、第五方面,提供一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行第二方面提供的方法中各步骤。
7、附图说明
8、以下附图仅旨在于对本技术实施例做示意性说明和解释,并不限定本技术实施例的范围。其中:
9、图1是根据本技术一实施例的一种宏脚本的转换系统的示意图;
10、图2是根据本技术一实施例的一种宏脚本的转换方法的流程图;
11、图3是根据本技术一实施例的一种电子设备的示意图。
12、附图标记说明
13、10:宏脚本的转换系统 11:接收模块 12:代码翻译代理模块
14、13:代码生成代理模块 200:宏脚本的转换方法 201~203:方法步骤
15、300:电子设备 301:处理器 302:通信接口
16、303:存储器 304:通信总线 305:程序
17、具体实施方式
18、现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本技术实施例内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
19、如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
20、下面结合附图对本技术实施例进行详细说明。
21、图1是根据本技术一实施例的一种宏脚本的转换系统的示意图,如图1所示,宏脚本的转换系统10包括:
22、接收模块11,被配置为:接收用户输入的第一宏脚本以及源软件的名称和目标软件的名称。
23、其中,第一宏脚本是指源软件的宏脚本,此外,源软件和目标软件可以是不同的软件,也可以是一个软件的不同版本,因为版本更新后宏脚本的写法会有更新,新版本的软件可能无法阅读旧版本的宏文件。
24、代码翻译代理模块12,被配置为:将第一宏脚本转换为对应的自然语言和伪代码。
25、代码生成代理模块13,被配置为:基于所得到的自然语言和伪代码,创建目标软件的名称对应的宏脚本。
26、本技术实施例首先接收用户输入的源软件的宏脚本,源软件的名称以及目标软件的名称,其次,再通过代码翻译代理模块将源软件的宏脚本转换为对应的自然语言和伪代码,再次,再基于转换得到的数据以创建目标软件对应的宏脚本。通过本技术实施例可以准确且快速地将源软件的宏脚本转换为目标软件的宏脚本。此外,本技术实施例通过将软件脚本转换为自然语言和伪代码,也可以方便用户理解自动化过程的运行逻辑,从而提高用户效率。
27、在一实施例中,该系统10还包括:代码逻辑检查代理模块,被配置为:检索自然语言和伪代码中存在的错误或遗漏;当存在任一错误或遗漏时,将对应的错误或遗漏输入至代码翻译代理模块12中,以更新得到的自然语言和伪代码。
28、在一实施例中,代码生成代理模块13,还被配置为:针对源软件的名称,创建第二宏脚本。代码语法检查代理模块,被配置为:检查第二宏脚本中的语法错误或api错误;当存在任一语法错误或api错误时,将对应的错误和第二宏脚本输入至代码生成代理模块13,以更新第二宏脚本。代码功能检查代理模块,被配置为:检测第二宏脚本和第一宏脚本在功能方面的一致性。具体的方式,可选地,在一测试环境下,代码功能检查代理模块可以在初始仿真软件环境下运行第一宏脚本和第二宏脚本,通过比较相应结果以检查一致性。可选地,代码功能检查代理模块可以独立评估功能上的一致性,例如操作步骤的顺序是否相同、设置的状态是否一致等。
29、当存在任意错误,例如操作步骤的减少、新增有额外影响的步骤、参数错误等等,则将对应的错误和第一宏脚本输入至代码翻译代理模块12中,以更新自然语言和伪代码。本技术实施例支持脚本执行效果的自动化测试和比较,从而大大减少了手工测试过程中所需的时间和资源。
30、在一实施例中,代码语法检查代理模块,被配置为:验证目标软件的名称对应的宏脚本中是否存在语法错误或api错误;当存在任一语法错误或api错误时,将对应的错误和所标软件的名称对应的宏脚本输入至代码生成代理模块13,以更新目标软件的名称对应的宏脚本,得到第三宏脚本。可选地,代码功能检查代理模块,还被配置为:检测第三宏脚本和第一宏脚本在功能方面的一致性。具体的方式,可选地,在一测试环境下,代码功能检查代理通过调用仿真软件,分别在源软件和目标软件上运行第一宏脚本和第三宏脚本,通过比较相应结果以检查一致性。可选地,代码功能检查代理模块可以独立评估功能上的一致性。
31、当存在任意错误,则将对应的错误和第一宏脚本输入至代码生成代理中,以更新自然语言和伪代码。
32、在一实施例中,可以将自然语言与伪代码通过用户界面展示给用户,通过用户自行标注或指出可能存在的错误或者需要调整的内容,再把用户的反馈提供给代码翻译代理模块12以更新自然语言与伪代码。
33、可选地,代码翻译代理模块12和代码生成代理模块13均以大语言模型为基础,并以通用仿真场景的数据集、源软件的相关数据集和目标软件的相关数据集作为训练数据集进行训练得到。
34、可选地,代码翻译代理模块12的训练数据集还可以包括任务需求与对应伪代码数据集以及可选的ai扩增的任务需求与对应代码数据集,上述数据集的使用方式为:将代码作为输入项,任务需求作为输出项。
35、可选地,代码生成代理模块13的训练数据集还可以包括任务需求与对应伪代码数据集以及可选的ai扩增的任务需求与对应代码数据集,上述数据集的使用方式为:将代码作为输入项,任务需求作为输出项。
36、可选地,代码逻辑检查代理模块的训练数据集可以包括:通用仿真场景的数据集、相应软件的操作文档、相应软件的应用程序编程接口(application programminginterface, api)说明文档和/或相关软件代码案例文档。
37、可选地,代码语法检查代理模块的训练数据集可以包括:相应软件api说明文档、相关软件代码案例文档、任务需求与相应软件对应代码数据集以及可选的ai扩增的任务需求与相关软件对应代码数据集。
38、可选地,代码功能检查代理模块的训练数据可以包括:相关软件的数据集,例如操作文档、api说明文档、代码案例文档、任务需求与相应软件对应代码数据集以及可选的ai扩增的任务需求与相关软件对应代码数据集。
39、本技术实施例可以根据相关文档和脚本示例学习新软件平台的脚本,从而实现自动扩展的能力。
40、在一实施例中,该系统10还包括输出模块,被配置为:通过用户界面将目标软件的名称对应的宏脚本返回给用户。
41、图2是根据本技术的一实施例的一种宏脚本的转换方法的流程图,如图2所示,宏脚本的转换方法200包括:
42、步骤201,接收用户输入的第一宏脚本以及源软件的名称和目标软件的名称。
43、步骤202,通过代码翻译代理将第一宏脚本转换为对应的自然语言和伪代码。
44、步骤203,基于自然语言和伪代码,通过代码生成代理创建目标软件的名称对应的宏脚本。
45、可选地,代码翻译代理和代码生成代理均以大语言模型为基础,并以通用仿真场景的数据集、源软件的相关数据集和目标软件的相关数据集作为训练数据集进行训练得到。
46、通过本技术实施例可以准确且快速地将源软件的宏脚本转换为目标软件的宏脚本。
47、图3是本技术实施例提供的一种电子设备的示意图,本技术具体实施例并不对电子设备的具体实现做限定。参见图3,本技术实施例提供的电子设备300包括:处理器(processor)302、通信接口(communications interface)304、存储器(memory)306、以及通信总线308。其中:
48、处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
49、通信接口304,用于与其它电子设备或服务器进行通信。
50、处理器302,用于执行程序310,具体可以执行前述宏脚本的转换方法200实施例中的相关步骤。
51、具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
52、处理器302可能是中央处理器cpu,或者是特定集成电路asic(applicationspecific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
53、存储器302,用于存放程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
54、本技术实施例还提供了一种计算机可读存储介质,存储用于使一机器执行如本文所述的宏脚本的转换方法200的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
55、在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本技术的一部分。
56、用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
57、此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
58、此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
59、本技术实施例还提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行上述各实施例提供的宏脚本的转换方法200。应理解,本实施例中的各方案具有上述方法实施例中对应的技术效果,此处不再赘述。
60、需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
61、本专利申请中关于人的名词和代词不限于具体性别。
62、以上各实施例中,硬件模块可以通过机械方式或电气方式实现。例如,一个硬件模块可以包括永久性专用的电路或逻辑(如专门的处理器,fpga或asic)来完成相应操作。硬件模块还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
63、上文通过附图和优选实施例对本技术进行了详细展示和说明,然而本技术不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本技术更多的实施例,这些实施例也在本技术的保护范围之内。
64、本专利申请中关于人的名词和代词不限于具体性别。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com