罗欢,徐律冠,陈文平
(南方电网数字电网研究院有限公司,广东广州 510507)
智能科技的快速发展,虽然为人们的生活带来便利,但是也对不同异构混合系统造成了安全威胁[1-2]。传统的嵌入式软件自动代码生成方法采用多范式的系统建模方法,该方法构建的模型虽然集成了多种模型转换方法,也分析了混合模型的特点,但是由于混合的模型特点过多,具有复杂性,导致模型在嵌入式软件代码自动生成方法调用时的行为响应过慢[3-4]。
嵌入式自动软件对于网络发展有重要意义,在异构系统中,嵌入式自动软件不仅可以提高软件的工作效率,同时也可以增加软件的扩展范围,但是由于传统的生成方法需要花费大量时间,所以嵌入式过程都难以达到应用要求。为了提高嵌入式软件自动代码生成方法的规范性和安全性,该文提出基于异构系统混合建模及嵌入式软件代码生产方法,并设计模型,研究了一种新的代码生成过程。
为了达到嵌入式软件代码自动生成方法的设计目标,首先为异构系统混合模型设计模型框架,该文设计的混合异构系统框架主要由处理器、PPE(Power PC 处理器元件)、控制器、SPE(协同处理器元件)、SPU(协调处理单元)、通信器共同构成的“5+1”多功能框架[5]。
利用这一框架实时对框架内的功能进行移除和增加,增强异构系统工作的持久性。异构混合系统框架采用的处理器是新发行的处理器,该处理器可以支持多媒体领域所有异构混合系统的运行,处理器由一个主核模块和五个辅核模块组成,可以完成大型矢量的运算[6]。传输周期的计算公式如式(1)所示:
式中,CR表示发送请求的周期;
CW表示等待周期;
CD表示在异构系统中内部数据进行传送的周期;
M表示处理器内部文件的数据量;
L表示处理器内部总线的宽度;
P1表示得到的总线频率;
P2表示处理器的工作频率[7-8]。
PPE 是框架内的核心模块,采用双线程的运行模式,可以同时发行四条指令,在必要时执行OS 协议,保证异构混合系统的运行速度。框架内控制器采用UH-99 类型的器件,该控制器的存储内存为128 GB,可以触发各种软件的行为引擎,具有普遍性,异构系统混合模型赋予控制器直接读写和更改数据的功能。SPE 是复杂模块,其主要的工作是与框架内的通信模块进行信息的交换传输。SPU 的工作任务是连接框架内PPE、SPE 以及输入输出接口,连接点由数据环线和母线组成,如果其中一个连接线出现故障,那么SPU 不具有连接功能[9]。
在PPE 框架中实现切换,切换周期设定为Cx;
x表示第x时刻,计算公式如式(2)所示:
式中,Cc表示在PPE 框架中切换的周期,PPE 框架内部的任务发送周期基本相等。
通信器由多个并行的数据传输收发模块构成,根据混合异构系统的设计目标,在通信器内重新规范了基于原语的核间通信过程。该文在设计混合异构系统模型框架时,在内部设计了全局地址和本地地址,全局地址是存储软件运行代码的地址,本地地址是存储混合异构系统模块内的有效地址,为了简化模块的通信流程,对两种不同的地址采用同一个通信流程进行实现[10-12]。
根据框架切换周期构建混合模型,构建的混合模型表达公式为:
式中,Z表示求得的混合模型表达式。框架内基于原语的主核通信流程如图1 所示。
图1 基于原语的主核通信流程
根据图1 可知,首先收集需要完成的嵌入式软件代码自动生成的需求信息,将需求信息进行格式转换,传输到混合异构系统内,为触发应用软件执行功能奠定信息基础[13]。然后,判断系统框架内需要传输的线程队列是否存在空闲。判断依据是利用原语格式执行系统框架内的指令,读取通信器通道内空闲地址的大小,查询信道内目前通信队列的长度,进行线程队列状态的判断。如果存在空间,则判断系统通信器内空间的大小,若空间大小大于需要传输信息的大小,则完成通信准备工作即可[14];
如果相反,则等待通信器通信信道内其他进程结束后,空闲空间满足传输信息要求时,再完成准备工作。最后,完成系统框架和应用嵌入式软件内信息的传输。输出框架内的ST 指令,伴随需要传递的信息,投递到通信器内部的通信信道内,并且携带通信的目的地址,即可等待信息的传输。
嵌入式软件相比传统的普通软件可以实现部分代码的封装操作,使软件自动生成的代码具有安全性。从物理角度来说,嵌入式软件是由多种组件搭建成的多功能集成软件,其中具有代表性的组件为逻辑函数组件、文件组件以及程序段组件,因为嵌入式软件的结构不同,可以对任何程度进行单独的测试和集成,方便代码的维护。
计算代码节点之间的相似性,计算公式为:
式中,Ti表示初始代码;
Yj表示结束代码;
n表示代码数量。
在软件内部融入实时技术,利用嵌入式软件替换传统软件统一格式的测试封装功能,设定代码生成任务,独立地进行封装测试,实现具体应用场景的应用。利用嵌入式软件的可替换性,实现信息的重新分配。嵌入式软件内的所有结构组件都是通过可拆卸连接组件连接而成的,如果组件出现更新或者替换需求时,通过变更软件内的接口和结构,就可以实现软件内功能的更新,具有可变性。利用信息软件计算评估代码来评估过程的风险程度,计算公式为:
式中,μ表示得到的评估风险程度;
N表示评估的节点数量;
vj表示评估次数。
根据嵌入式软件的可扩展性,设置多个接口,嵌入式软件可以通过扩展软件内部的接口,实现组件功能的扩展,延长软件的应用性,并保证软件的功能。并行结构包括嵌入式软件代码自动生成必需的结构,分支结构辅助并行结构的功能完成代码自动生成[15]。
采用深度遍历算法完成代码自动生成路径的选择,首先对嵌入式软件的自动代码生成的所有需求信息进行节点分割,根据代码自动生成的要求,合理地设定出路径遍历深度,代码原生信息越多,选择路径的覆盖深度越大,可选择的代码自动生成路径越多。
路径覆盖深度计算公式为:
式中,x表示路径覆盖深度。路径生成过程如图2 所示。
图2 路径生成过程
根据图2 可知,调用混合异构系统将待自动生成的代码信息随机分配到多个测试路径集合内,对嵌入式软件内并发结构的代码自动生成路径与分支内的结构路径进行次序的排列,输出有效的代码自动生成路径,在生成的路径内以路径最短为选取原则,选择出最佳的嵌入式软件自动代码生成路径即可。
实验采用基于AADL 的航天嵌入式软件Ada 代码自动生成方法(以下统称为文献[2]方法)和基于SysML 的嵌入式软件系统建模与验证方法(以下统称为文献[3]方法)与该文方法共同完成实验的设计,保证实验测试的准确性和科学性。
此次测试实验的核心思想是随机在数据库内采取3 750 条指令语句,然后录入到不同模型的嵌入式软件内,执行自动代码生成方法的调用,最后通过分析不同方法生成代码的结果,验证方法的性能。在实验测试的过程中,将采集的原始数据录入到所设计的异构系统混合模型中,生成的代码作为此次实验的标准对照模板。
将三个测试方法生成的代码与标准方法生成的代码进行对比,得到的代码生成个数实验结果如图3所示。
图3 代码生成个数实验结果
根据图3 可知,该文提出的基于异构系统混合建模的嵌入式软件自动代码生成方法代码生成的个数为3 000 个语句,与标准模板的代码语句个数最相近,相差小于100 条,其他两个传统方法生成代码的个数与标准个数相差大于500 条。根据图3 可知,该文方法与标准值相差较小,文献[2]方法相差最大。由此可见,该文方法与实际值相符,得到的代码数量更适合应用于异构系统中。
在确定代码生成量后,当进度进展到100%时,表示代码生成成功,确定代码生成个数,分析三个方法自动生成代码过程,其中代码生成方法进度实验图如图4 所示。
图4 方法进度实验图
观察图4 可知,其中该文方法用时最短,文献[2]方法用时最长。观察实验测试开始后10 min,文献[2]方法的代码生成效率最高,该文方法与文献[3]方法的代码生成效率几乎相同。观察实验10~20 min 内的进度情况,这时三个方法所完成代码的效率就出现了变化,文献[2]方法代码的生产效率与10 min 的生产效率持续不变,文献[3]方法的生成进度提高了20%,该文方法的代码生成进度达到了82%。观察实验进行20~30 min 内的进度情况,发现实验测试进行23 min 时,该文方法已经完成了代码的自动生产,结束任务。实验进行30 min 时,文献[2]方法和文献[3]方法对于代码自动生成的进度分别为76%和85%,最终两个方法分别在33 min 和54 min 时完成测试任务。
代码匹配度是验证自动代码生成方法的重要手段,匹配度计算公式为:
式中,C表示原始数据;
B表示生成的数据;
m表示数据匹配度。代码生成的模型匹配度实验结果如图5 所示。
图5 代码匹配度实验结果(将纵坐标改为匹配度)
由图5可知,该文方法代码匹配度高于传统方法,能够更加精准地把握信息,完成信息的匹配工作。
综上所述,对比三个不同模型下的嵌入式软件自动代码生成方法的工作效率、运行稳定性、代码执行的准确率等因素,可以证明该文设计的基于异构系统混合建模的嵌入式软件自动代码生成方法具有可行性。
该文成功地重新定义并构建了混合异构系统,将该系统应用在嵌入式软件的自动代码生成方法中,使得方法具有可变性和规范性,解决了传统方法工作效率低下的问题。该文构建的基于异构系统混合的嵌入式软件自动代码生成方法采用的模型语言是AADL 标准建模语言,避免了软件代码生成过程中出现乱码的问题,其次该文利用实验分析验证了方法生成代码的有效性。基于混合异构系统解决了软件应用平台之间的差异问题,提高了嵌入式软件代码自动生成方法的兼容性。在该文方法的基础上,还可以进一步充实异构系统混合框架内的内容,完善方法的性能。
猜你喜欢代码生成嵌入式软件异构试论同课异构之“同”与“异”小学教学研究(2022年5期)2022-04-28Lustre语言可信代码生成器研究进展仪器仪表用户(2020年5期)2020-05-04实时嵌入式软件的测试技术电子测试(2018年10期)2018-06-26全景相机遥控器嵌入式软件V1.0 相关操作分析电子制作(2017年17期)2017-12-18异构醇醚在超浓缩洗衣液中的应用探索中国洗涤用品工业(2017年2期)2017-04-16overlay SDN实现异构兼容的关键技术电信科学(2016年11期)2016-11-23代码生成技术在软件开发中的应用电子世界(2016年15期)2016-08-29LTE异构网技术与组网研究通信电源技术(2016年6期)2016-04-20基于XML的代码自动生成工具电子科技(2015年2期)2015-12-20基于Eclipse的航天嵌入式软件集成开发环境设计与实现空间控制技术与应用(2015年4期)2015-06-05扩展阅读文章
推荐阅读文章
恒微文秘网 https://www.sc-bjx.com Copyright © 2015-2024 . 恒微文秘网 版权所有
Powered by 恒微文秘网 © All Rights Reserved. 备案号:蜀ICP备15013507号-1