Page 175 - 《软件学报》2024年第6期
P. 175
陈文杰 等: 面向全分布式智能建筑系统应用程序的并行化编译方法 2751
图 A1 SwarmL 语言抽象语法
开始
2. 子语句转换为 C 语言代码
利用 for 循环语句为每个
X 变量创建数组变量 X_[i]
识别 Swarm 并行语句
将语句中对应 X 变量的局部参数 P 逐
生成标准化语义模块名称 = 个替换为数组变量 X_[i]
上一个语义模块名称+1
根据标准化语义模块类型库 生成对应 C 语言代码
选择生成语义模块类型名称
3. 生成计算属性类型码
生成对应语义模块类型码
根据参数的计算域和读写关系
选择生成计算属性类型码
1. 生成本地读, 本地 计算触发条件
写和交互变量
单次计算结果发布条件
提取 Swarm 并行语句的局部参数
单次计算结果发布对象
根据参数计算域和变量读写属性,
生成对应的 Ar, Aw, X 变量
生成计算属性类型码数组
生成 Ar, Aw, X 变量个数
生成完整 Swarm 并行语句
语义模块
生成局部参数名称与 Ar, Aw,
X 变量序列的映射表
结束
图 A2 Swarm 并行语句编译算法流程图