一种面向信号驱动程序代码自动生成方法及装置制造方法及图纸

技术编号:19488997 阅读:17 留言:0更新日期:2018-11-17 12:00
本发明专利技术公开了一种面向信号驱动程序代码自动生成方法及装置,首先从信号模型文件中解析出信号驱动模型;然后设置目标软件平台,编辑该平台下的信号驱动代码模板和转换规则;最后根据选择代码转换规则,将信号驱动模型自动转换为信号驱动类代码,并把生成的信号驱动类代码填充到代码模板中。当信号驱动模型有更新时,只要重新解析模型、执行模型到代码的转换,即可生成新的代码;当需要生成另外一种软件平台下的信号驱动代码时,只需要定义该目标平台对应的转换规则,重新转换即可自动生成新软件平台下的代码,提高信号驱动实现逻辑知识重用。本发明专利技术的方法降低了软件人员的工作难度,提高了软件人员的工作效率和知识共享,节约了人力资源。

【技术实现步骤摘要】
一种面向信号驱动程序代码自动生成方法及装置
本专利技术涉及自动测试相关
,具体的说,是涉及一种面向信号驱动程序代码自动生成方法及装置。
技术介绍
面向信号的自动测试软件由于具有测试程序与仪器资源松耦合、测试程序跨硬件平台移植、测试程序在产品生命周期各阶段可重用、测试系统软件研制与被测设备研制同步等优点,已成为国际航空和复杂武器装备测试的主流技术途径。面向信号的驱动程序是面向信号测试软件执行的基础,也是面向信号测试软件开发的重点和难点。由于目前面向信号驱动程序还没有统一的标准,不同自动测试软件平台下的信号驱动接口也不一致,导致针对同一款仪器设备,需要为每种测试软件平台开发不同的信号驱动程序。传统的面向信号驱动程序是利用第三方工具进行半自动的开发,这种开发方式虽然利用第三方控件简单生成信号驱动代码框架,但是还需要手动地开发大量代码,来实现信号驱动中对具体仪器的控制。这种半自动的面向信号的信号驱动开发方式需要开发人员对仪器模型、驱动头文件、仪器程控指令集、开发指南等文件非常熟悉,并手动编写符合特定软件平台规范的信号驱动程序代码。针对不同软件平台信号驱动实现逻辑知识无法得到复用,导致重复开发和人力资源浪费。另外,这种方式不但需要开发人员掌握信号驱动开发繁琐的流程和规范,而且会降低开发效率,以及经验知识无法共享造成人力资源巨大浪费。半自动的面向信号驱动程序代码开发方法,典型代表有旋极科技公司的面向信号驱动程序开发控件。该开发控件是基于微软的VC++环境下,通过向导方式自动生成信号驱动代码框架。其工作流程是首先创建信号驱动项目,手动添加信号驱动类;其次为每个信号驱动类添加信号属性,为每个信号属性设置属性的取值范围。然后将信号驱动类生成代码框架,其中每个信号驱动类生成一个类文件。最后在代码框架基础上,参考驱动头文件、程控指令文件,把驱动函数或者读写程控指令手动添加到对应的信号类文件中完成仪器控制。目前的信号驱动程序开发的方法通常采用半自动化开发方式,这种开发方式需要利用第三方工具软件生成代码框架的基础上,手动编写大量的代码来实现对仪器的控制。对应于这种半自动开发方式,首先它依赖于第三方工具软件,而且只符合某一种软件平台接口的信号驱动;其次编程人员不但需要对特定编程语言下的仪器控制方式有所了解,而且需要熟悉不同编程语言的参数类型间的转换,提高了软件人员的专业要求;最后针对不同软件平台的同一仪器需要重新开发信号驱动,信号到仪器控制相应知识得不到充分的共享,从而造成人力资源的巨大浪费。综上所述,半自动开发方式对软件人员的专业要求和工作量仍然要求很高,软件人员的开发效率还比较降低,同时也造成人力资源的巨大浪费。
技术实现思路
本专利技术为了解决上述问题,提出了一种面向信号驱动程序代码自动生成方法及装置,首先从信号模型文件中解析出信号驱动模型;然后设置目标软件平台,编辑该平台下的信号驱动代码模板和转换规则;最后根据选择代码转换规则,将信号驱动模型自动转换为信号驱动类代码,并把生成的信号驱动类代码填充到代码模板中。当信号驱动模型有更新时,只要重新解析模型、执行模型到代码的转换,即可生成新的代码;当需要生成另外一种软件平台下的信号驱动代码时,只需要定义该目标平台对应的转换规则,重新转换即可自动生成新软件平台下的代码,提高信号驱动实现逻辑知识重用。这种自动生成信号驱动程序代码的方法,降低了软件人员的工作难度,提高了软件人员的工作效率和知识共享,节约了人力资源。为了实现上述目的,本专利技术采用如下技术方案:一种面向信号驱动代码自动生成方法,包括:步骤1、建立信号驱动代码模板和转换规则管理模块,用于新建、编辑、存储和查询不同软件平台的信号驱动代码模板和代码转换规则。步骤2、选择信号驱动模型文件,定义解析规则,根据解析规则将信号驱动模型文件解析为信号驱动模型。步骤3、根据实际需求选择目标软件平台,查询信号驱动代码模板和转换规则管理模块中是否有目标软件平台的代码模板和代码转换规则,如果有,执行步骤5;否则,执行下一步。步骤4、新建或/和编辑目标软件平台的代码模板和转换规则并存储。步骤5、选择目标软件平台,根据目标软件平台的代码模板和代码转换规则将信号驱动模型转换为生成信号驱动代码。步骤6、判断生成的信号驱动代码是否包含所有信号驱动模型项信息,如果未包含所有信号驱动模型项信息,执行步骤4;否则,驱动代码自动生成过程结束,保存生成的信号驱动代码。进一步的,所述步骤5根据目标软件平台的代码模板和代码转换规则将信号驱动模型转换为生成信号驱动代码的方法具体为:根据代码转换规则将信号驱动模型依次生成信号驱动模型项代码:装载目标软件平台的代码模板文件,得到模板文件对象;将信号驱动模型项代码自动添加到模板文件对象中,保存模板文件对象为信号驱动代码文件。进一步的,所述代码模板根据不同软件平台手动编辑,所述代码模板包括信号驱动代码基本框架和信号接口信息。进一步的,所述代码转换规则用于定义信号驱动模型到代码的转换。进一步的,将生成的信号驱动模型项代码保存到目标软件平台的代码模板中。一种实现所述的一种面向信号驱动代码自动生成方法的装置,包括:信号驱动模型解析模块:用于将信号驱动模型文件解析为信号驱动模型,并用于定义和存储解析规则。信号驱动代码模板和转换规则管理模块:用于新建、编辑、存储和查询不同软件平台的信号驱动代码模板和代码转换规则。信号驱动代码生成模块:用于根据目标软件平台的代码模板和代码转换规则将信号驱动模型转换为生成信号驱动代码。所述信号驱动模型解析模块、信号驱动代码模板和转换规则管理模块、信号驱动代码生成模块依次连接。与现有技术相比,本专利技术的有益效果为:(1)本专利技术的一种面向信号驱动程序代码自动生成方法与装置,其中信号驱动模型可以通过解析信号驱动模型文件得到,不依赖任何第三方软件;通过选择软件平台可以得到该软件平台下的信号驱动代码模板和转换规则,将信号驱动模型自动生成信号驱动代码。本专利技术的自动生成信号驱动代码的方法,降低了软件人员的工作难度,提高了软件人员的开发效率和质量。(2)本专利技术的一种面向信号驱动程序代码自动生成方法与装置,针对同一软件平台下的不同仪器,只需要维护一套信号代码模板和转换规则,并且可以支持信号代码模板和转换规则的不断升级和扩展,保证了信号驱动实现逻辑知识的共享和复用,节约了人力成本。附图说明构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的限定。图1是本专利技术方法流程图;图2是本专利技术装置构成示意图;图3是本专利技术装置中各模块的工作流程图;图4是本专利技术信号驱动模型文件的解析流程图;图5是本专利技术确定目标软件平台的代码模板和转换规则的流程图。具体实施方式:下面结合附图与实施例对本专利技术作进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术本文档来自技高网
...

【技术保护点】
1.一种面向信号驱动代码自动生成方法,其特征在于,包括:步骤1、建立信号驱动代码模板和转换规则管理模块,用于新建、编辑、存储和查询不同软件平台的信号驱动代码模板和代码转换规则;步骤2、选择信号驱动模型文件,定义解析规则,根据解析规则将信号驱动模型文件解析为信号驱动模型;步骤3、根据用户的实际需求确定目标软件平台,查询信号驱动代码模板和转换规则管理模块中是否有目标软件平台的代码模板和代码转换规则,如果有,执行步骤5;否则,执行下一步;步骤4、新建或/和编辑目标软件平台的代码模板和转换规则并存储;步骤5、选择目标软件平台得到目标软件平台的代码模板和代码转换规则,根据目标软件平台的代码模板和代码转换规则将信号驱动模型转换为生成信号驱动代码;步骤6、判断生成的信号驱动代码是否包含所有信号驱动模型项信息,如果不包含所有信号驱动模型项信息,执行步骤4;否则,驱动代码自动生成过程结束,保存生成的信号驱动代码。

【技术特征摘要】
1.一种面向信号驱动代码自动生成方法,其特征在于,包括:步骤1、建立信号驱动代码模板和转换规则管理模块,用于新建、编辑、存储和查询不同软件平台的信号驱动代码模板和代码转换规则;步骤2、选择信号驱动模型文件,定义解析规则,根据解析规则将信号驱动模型文件解析为信号驱动模型;步骤3、根据用户的实际需求确定目标软件平台,查询信号驱动代码模板和转换规则管理模块中是否有目标软件平台的代码模板和代码转换规则,如果有,执行步骤5;否则,执行下一步;步骤4、新建或/和编辑目标软件平台的代码模板和转换规则并存储;步骤5、选择目标软件平台得到目标软件平台的代码模板和代码转换规则,根据目标软件平台的代码模板和代码转换规则将信号驱动模型转换为生成信号驱动代码;步骤6、判断生成的信号驱动代码是否包含所有信号驱动模型项信息,如果不包含所有信号驱动模型项信息,执行步骤4;否则,驱动代码自动生成过程结束,保存生成的信号驱动代码。2.如权利要求1所述的一种面向信号驱动代码自动生成方法,其特征在于:所述步骤5根据目标软件平台的代码模板和代码转换规则将信号驱动模型转换为生成信号驱动代码的方法具体为:根据代码转换规则将信号驱动模型依次生成信号驱动模型项代...

【专利技术属性】
技术研发人员:邱田华宋斌刘毅吴波郑艳梅方鹏谭旭陈鹏飞刘硕
申请(专利权)人:中国电子科技集团公司第四十一研究所
类型:发明
国别省市:山东,37

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

1