Page 154 - 《软件学报》2024年第6期
P. 154

2730                                                       软件学报  2024  年第  35  卷第  6  期


                    (3) 如何设计编译系统, 使其适应目标硬件平台的异构性和升级更新?
                    随着群体智能思想的日益普及, 具有节点交互和协作特征的底层硬件控制器可能来自不同厂家, 具有不同的
                 硬件结构和内存资源. 由于底层硬件平台的异构性, 用户需要就不同架构的硬件平台分别编写程序代码并分别编
                 译, 这导致复杂的软件开发过程和跨平台移植困难. 另外, 群体智能系统应用程序和底层硬件指令的升级和更新将
                 给编译系统的维护带来巨大的工作量. 因此, 编译系统应该与特定硬件平台解耦, 且适应应用程序和底层硬件的升
                 级更新, 为上层用户开发提供方便.

                 2   编译系统定义

                    针对上述编译挑战, 本文提出一种面向群体智能应用程序的编译系统, 旨在将面向全局、串行思维编程的群
                 体智能系统应用程序编译转换为节点可独立执行的目标代码, 且屏蔽目标硬件平台的异构性. 本节建立了编译系
                 统的总体框架, 并形式化定义编译系统的中间表示接口.

                 2.1   编译系统总体框架
                                                    映射
                    所提出的编译系统包括解析层, 中间层和映射层, 如图                4  所示. 其中, 解析层面向群体智能系统应用程序, 映射
                 层面向异构的群体智能系统硬件平台. 中间层由标准化语义模块和逻辑链组成, 为上层应用程序和底层硬件平台
                 提供统一的标准接口. 对于不同的硬件平台和操作系统, 中间层可以有多个符合接口的实现.


                   解析层      SwarmL APP           格式化预处理               StringBuilder
                                                                       TreeNode
                                                  结构化解析


                    ①       编译算法 1             ②       编译算法 2                      查询、匹配
                        匹配群体智能计算类型                确定参数读写和交互属性

                         计算划分和数据分配               隐式循环操作转换为数组运算
                                                                               转换
                      全局信息拆分, 生成本地信息              生成底层分布式计算属性


                     ③                                                                    符号表   标准化语义模块格式库  标准化语义模块类型库

                   中间层   逻辑链                                                     标准化语义模块


                                                       拼接


                       硬件信息


                         目标代码 1          目标代码 2         目标代码 3  下载和部署
                   映射层     下载                                       异构硬件平台



                     全分布式智能建筑系统       群体智能城市系统       无人机蜂群协同系统
                                                            不同类型的标准化语义模块

                                       图 4 面向群体智能系统应用程序的编译系统总体框架
   149   150   151   152   153   154   155   156   157   158   159