1、电子设计工程Electronic Design Engineering第31卷Vol.31第6期No.62023年3月Mar.2023收稿日期:2021-09-06稿件编号:202109031作者简介:罗 欢(1982),女,江西景德镇人,硕士研究生。研究方向:微服务、Devops、IT基础架构。智能科技的快速发展,虽然为人们的生活带来便利,但是也对不同异构混合系统造成了安全威胁1-2。传统的嵌入式软件自动代码生成方法采用多范式的系统建模方法,该方法构建的模型虽然集成了多种模型转换方法,也分析了混合模型的特点,但是由于混合的模型特点过多,具有复杂性,导致模型在嵌入式软件代码自动生成方法调用时的
2、行为响应过慢3-4。嵌入式自动软件对于网络发展有重要意义,在异构系统中,嵌入式自动软件不仅可以提高软件的异构系统混合建模及嵌入式软件自动代码生成方法罗 欢,徐律冠,陈文平(南方电网数字电网研究院有限公司,广东 广州 510507)摘要:目前研究的嵌入式软件自动代码生成方法代码生成个数与标准值相差较多,导致进度过慢,难以完成软件匹配。为了解决上述问题,设计了异构系统混合模型,研究了一种新的嵌入式软件自动代码生成方法。在混合模型内,编写基于原语的核间通信过程,利用模型的扩展属性集完成系统的建模。基于异构系统混合模型,融入抽象语法标记和语言规范,植入嵌入式软件自动代码生成路径以及代码进程映射模板,集
3、成全新的嵌入式软件自动代码生成方法。实验结果表明,所设计的基于异构系统混合建模及嵌入式软件自动代码生成方法与标准值更加吻合,进度更快,能够更好地实现信息匹配。关键词:异构系统;混合建模;嵌入式软件;自动代码;生成方法中图分类号:TN-9文献标识码:A文章编号:1674-6236(2023)06-0171-05DOI:10.14022/j.issn1674-6236.2023.06.036Hybrid modeling of heterogeneous system and automatic code generation method ofembedded softwareLUO Huan,
4、XU Lvguan,CHEN Wenping(China Southern Power Grid Digital Grid Research Institute Co.,Ltd.,Guangzhou 510507,China)Abstract:The number of code generation is much different from the standard value,which leads to theslow progress and difficult to complete software matching.In order to solve the above pr
5、oblems,a hybridmodel of heterogeneous system is designed and a new automatic code generation method for embeddedsoftware is studied.In the hybrid model,the process of intercore communication based on primitives iswritten,and the system is modeled by using the extended attribute set of the model.Base
6、d on the hybridmodel of heterogeneous system,abstract syntax markers and language specifications are integrated,embedded automatic code generation path and code process mapping template of embedded software areembedded,and a new automatic code generation method of embedded software is integrated.The
7、experimental results show that the hybrid modeling method based on heterogeneous system and theautomatic code production method of embedded software are more consistent with the standard value,theprogress is faster,and the information matching can be better achieved.Keywords:heterogeneous system;hyb
8、rid modeling;embedded software;automatic code;generationmethod-171电子设计工程 2023年第6期工作效率,同时也可以增加软件的扩展范围,但是由于传统的生成方法需要花费大量时间,所以嵌入式过程都难以达到应用要求。为了提高嵌入式软件自动代码生成方法的规范性和安全性,该文提出基于异构系统混合建模及嵌入式软件代码生产方法,并设计模型,研究了一种新的代码生成过程。1异构系统混合建模为了达到嵌入式软件代码自动生成方法的设计目标,首先为异构系统混合模型设计模型框架,该文设 计 的 混 合 异 构 系 统 框 架 主 要 由 处 理 器、PPE
9、(Power PC处理器元件)、控制器、SPE(协同处理器元件)、SPU(协调处理单元)、通信器共同构成的“5+1”多功能框架5。利用这一框架实时对框架内的功能进行移除和增加,增强异构系统工作的持久性。异构混合系统框架采用的处理器是新发行的处理器,该处理器可以支持多媒体领域所有异构混合系统的运行,处理器由一个主核模块和五个辅核模块组成,可以完成大型矢量的运算6。传输周期的计算公式如式(1)所示:C=(CR+CW+CDML)P1P2(1)式中,CR表示发送请求的周期;CW表示等待周期;CD表示在异构系统中内部数据进行传送的周期;M表示处理器内部文件的数据量;L表示处理器内部总线的宽度;P1表示得
10、到的总线频率;P2表示处理器的工作频率7-8。PPE 是框架内的核心模块,采用双线程的运行模式,可以同时发行四条指令,在必要时执行 OS协议,保证异构混合系统的运行速度。框架内控制器采用 UH-99 类型的器件,该控制器的存储内存为128 GB,可以触发各种软件的行为引擎,具有普遍性,异构系统混合模型赋予控制器直接读写和更改数据的功能。SPE 是复杂模块,其主要的工作是与框架内的通信模块进行信息的交换传输。SPU的工作任务是连接框架内 PPE、SPE以及输入输出接口,连接点由数据环线和母线组成,如果其中一个连接线出现故障,那么SPU不具有连接功能9。在PPE框架中实现切换,切换周期设定为Cx;
11、x表示第x时刻,计算公式如式(2)所示:Cx=(Cc+C)2(2)式中,Cc表示在PPE框架中切换的周期,PPE框架内部的任务发送周期基本相等。通信器由多个并行的数据传输收发模块构成,根据混合异构系统的设计目标,在通信器内重新规范了基于原语的核间通信过程。该文在设计混合异构系统模型框架时,在内部设计了全局地址和本地地址,全局地址是存储软件运行代码的地址,本地地址是存储混合异构系统模块内的有效地址,为了简化模块的通信流程,对两种不同的地址采用同一个通信流程进行实现10-12。根据框架切换周期构建混合模型,构建的混合模型表达公式为:Z=Cx2M L(3)式中,Z表示求得的混合模型表达式。框架内基于
12、原语的主核通信流程如图1所示。图1基于原语的主核通信流程根据图 1 可知,首先收集需要完成的嵌入式软件代码自动生成的需求信息,将需求信息进行格式转换,传输到混合异构系统内,为触发应用软件执行功能奠定信息基础13。然后,判断系统框架内需要传输的线程队列是否存在空闲。判断依据是利用原语格式执行系统框架内的指令,读取通信器通道内空闲地址的大小,查询信道内目前通信队列的长度,进行线程队列状态的判断。如果存在空间,则判断系统通信器内空间的大小,若空间大小大于需要传输信息的大小,则完成通信准备工作即可14;如果相反,则等待通信器通信信道内其他进程结束后,空闲空间满足传输信息要求时,再完成准备工作。最后,完
13、成系统框架和应用嵌入式软件内信息的传输。输-172出框架内的 ST 指令,伴随需要传递的信息,投递到通信器内部的通信信道内,并且携带通信的目的地址,即可等待信息的传输。2嵌入式软件自动代码生成方法嵌入式软件相比传统的普通软件可以实现部分代码的封装操作,使软件自动生成的代码具有安全性。从物理角度来说,嵌入式软件是由多种组件搭建成的多功能集成软件,其中具有代表性的组件为逻辑函数组件、文件组件以及程序段组件,因为嵌入式软件的结构不同,可以对任何程度进行单独的测试和集成,方便代码的维护。计算代码节点之间的相似性,计算公式为:Ui=i=1,j=1n(Ti-Yj)2(4)式中,Ti表示初始代码;Yj表示结
14、束代码;n表示代码数量。在软件内部融入实时技术,利用嵌入式软件替换传统软件统一格式的测试封装功能,设定代码生成任务,独立地进行封装测试,实现具体应用场景的应用。利用嵌入式软件的可替换性,实现信息的重新分配。嵌入式软件内的所有结构组件都是通过可拆卸连接组件连接而成的,如果组件出现更新或者替换需求时,通过变更软件内的接口和结构,就可以实现软件内功能的更新,具有可变性。利用信息软件计算评估代码来评估过程的风险程度,计算公式为:i=j=1nvjN(5)式中,表示得到的评估风险程度;N表示评估的节点数量;vj表示评估次数。根据嵌入式软件的可扩展性,设置多个接口,嵌入式软件可以通过扩展软件内部的接口,实现
15、组件功能的扩展,延长软件的应用性,并保证软件的功能。并行结构包括嵌入式软件代码自动生成必需的结构,分支结构辅助并行结构的功能完成代码自动生成15。采用深度遍历算法完成代码自动生成路径的选择,首先对嵌入式软件的自动代码生成的所有需求信息进行节点分割,根据代码自动生成的要求,合理地设定出路径遍历深度,代码原生信息越多,选择路径的覆盖深度越大,可选择的代码自动生成路径越多。路径覆盖深度计算公式为:x=1Ni=1n(Ui-i)n(6)式中,x表示路径覆盖深度。路径生成过程如图2所示。图2路径生成过程根据图 2 可知,调用混合异构系统将待自动生成的代码信息随机分配到多个测试路径集合内,对嵌入式软件内并发
16、结构的代码自动生成路径与分支内的结构路径进行次序的排列,输出有效的代码自动生成路径,在生成的路径内以路径最短为选取原则,选择出最佳的嵌入式软件自动代码生成路径即可。3实验分析实验采用基于 AADL的航天嵌入式软件 Ada代码自动生成方法(以下统称为文献2方法)和基于SysML 的嵌入式软件系统建模与验证方法(以下统称为文献3方法)与该文方法共同完成实验的设计,保证实验测试的准确性和科学性。此次测试实验的核心思想是随机在数据库内采取3 750条指令语句,然后录入到不同模型的嵌入式软件内,执行自动代码生成方法的调用,最后通过分析不同方法生成代码的结果,验证方法的性能。在实验测试的过程中,将采集的原始数据录入到所设计的异构系统混合模型中,生成的代码作为此次实验的标准对照模板。将三个测试方法生成的代码与标准方法生成的代码进行对比,得到的代码生成个数实验结果如图3所示。根据图 3 可知,该文提出的基于异构系统混合建模的嵌入式软件自动代码生成方法代码生成的个数为3 000个语句,与标准模板的代码语句个数最相罗 欢,等异构系统混合建模及嵌入式软件自动代码生成方法-173电子设计工程 2023年第6期