Page 167 - 《软件学报》2024年第6期
P. 167
陈文杰 等: 面向全分布式智能建筑系统应用程序的并行化编译方法 2743
初始值设置为 50%. 该任务采用条件触发机制, 其运行过程主要分为 5 个阶段. 阶段 1: 当温度超过设定温
度+1°C 时, 7:00 时刻所有房间的风阀开度迅速达到 100%. 阶段 2: 10:25 时刻 2 号和 4 号房间的温度低于设定温
度 1°C, 风阀开度降低. 3 号房间风阀开度也因邻居风阀降低的影响而变小. 阶段 3: 14:00 时刻 2 号房间温度比设
定温度低 1°C, 风阀开度降低. 3 号和 4 号房间受邻居风阀的影响也降低风阀开度. 由于 3 号房间靠近 2 号房间风
阀, 3 号房间风阀的调节范围较大. 阶段 4: 18:35 时刻 4 号房间温度再次低于设定温度 1°C, 风阀开度减小. 2 号和
3 号房间的风阀开度也因邻居风阀影响而变小. 阶段 5: 各房间温度变化不大, 风阀开度基本恒定. 可以看出在程序
运行过程中, 每个房间都根据邻居节点传来的风阀变化量自动调节本地风阀开度, 调节过程平稳, 没有相互影响导
致的振荡. 且房间温度始终控制在 24–25°C 之间, 保证了室内环境的舒适性.
1.5 28
节点 1 节点 2
节点 2 节点 3
节点 3 27 节点 4
节点 4
1.0 26
火灾报警信号 0.5 房间温度 (℃) 25
本节通过与现有开发方法对比, 验证了所提出编译系统的应用程序开发效率以及目标代码运行性能.
24
0
23
0 2 4 6 8 10 12
时间 (s) 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00
(a) 火灾报警信号变化曲线 时间
(c) 房间温度变化曲线
108
节点 1 节点 2
2 000 90 节点 3
节点 2
节点 3 80 节点 4
需求风量 (m 3 ·h −1 ) 1 000 风阀开度 (%) 60
节点 4
70
1 500
50
40
30
500
20
10
0
0
10:00 10:05 10:10 10:15 10:20
时间 00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00 23:00 24:00
(b) 需求风量变化曲线 时间
(d) 风阀开度变化曲线
图 13 目标代码运行结果
上述实验表明, 该编译系统能够将符合用户串行思维、声明式编程的 SwarmL 程序转换为节点独立执行的目
标代码, 实现自组织、并行的建筑控制任务逻辑, 进而大大降低应用程序开发的工作量.
4.3 编译系统效率验证
4.3.1 应用程序开发效率对比
编译群体智能应用程序过程的复杂性导致应用程序开发过程困难, 开发效率不高. 本文提出群体智能应用程
序编译系统的主要目的是解决此类程序在开发过程中编译环节的技术挑战, 打通群体智能应用程序开发的关键堵
点, 进而缩短应用程序从编程到编译全过程开发时间, 提升开发效率. 由于当前计算机运行计算能力足够强, 各类
编译系统编译源程序的时间都能够维持在较短时间内, 并没有显著差距, 单纯比较编译时间的微小差别似乎没有
决定性意义. 因此, 本实验重点评估比较编译系统支撑下的应用程序开发效率, 并没有直接评估编译基准程序的效率.