Page 303 - 《软件学报》2026年第3期
P. 303
1266 软件学报 2026 年第 37 卷第 3 期
2 自适应演化技术研究现状
合理的软件模型有助于提高软件运行时的自适应能力, 优质的自适应策略能够指导软件系统的演化调整过
程, 全面的策略验证方法能够确保演化结果的可信. 因此, 本节从自适应系统建模方法、自适应演化决策方法和自
适应过程可信性保障方法这 3 个方面对研究现状进行综述.
2.1 自适应系统建模方法
针对需求建模, 现有研究主要集中于功能性需求和非功能性需求两类问题. 自适应软件的功能性需求建模常
用方法有 Z 语言和特征模型. Z 语言具备高可信特征, 但不适合描述软件动态过程 [5] ; 特征模型允许运行时动态重
配置 [6] , 但难以描述需求关系. 非功能性需求建模方法有排队模型和 KAOS 模型, 排队模型适合建模性能或响应时
间等需求 [7] , KAOS 模型支持形式化建模 [8] . 在运行时动态修复场景下, Chu 等人 [9] 采用信号时序逻辑 (STL) 对系
统需求进行建模, 通过削弱与增强需求, 实现自适应的降级与恢复协调机制. 针对环境建模, 现有研究主要集中在
本体模型和概率模型. 本体模型用于描述由一套对象、属性以及关系所构成的系统, 用来支持对该领域的属性进
行推理 [10] . 概率模型是对一连串随机事件动态关系的定量描述, 能够将环境建模为概率过程, 用随机变量建模环
境的状态 [11] . 针对结构建模, 现有研究主要集中在体系结构模型. 如 Cetina 等人 [12] 采用领域特定建模语言描述体
系结构. 少量研究采用其他模型建模系统的结构, 其中, 类图将软件结构分类建模并描述类与类之间的结构和关
系, 适用于结构化、柔性的软件结构建模工作. 如 Salehie 等人 [13] 采用类图对系统组成进行建模, 发掘各个类与功
能性需求、安全性需求之间的关联关系. 组件图能够表示组件如何互相组织以构建复杂系统, 如 Filho 等人 [14] 在
EWS 系统中使用组件图描述系统的体系结构, 描述各个组件在系统中的关联关系. 针对行为建模, 现有研究主要
集中于状态图模型、活动图模型以及概率模型等方面. 状态图模型描述对象在生存期间的动态行为, 如 Lee 等人 [15]
对软件演化的空间进行了建模. 活动图展现了系统内活动的流程, 利于识别并行的活动, 典型的活动图模型有
Petri 网等 [16] . Maia 等人 [17] 在 Dragonfly 系统中使用活动图模型描述了无人机系统实现自适应的流程.
现有自适应软件方法在需求建模、环境感知、结构调节和行为演化等方面取得了丰富的研究成果, 广泛应用
于汽车电子、机器人、无人机等 CPS (cyber-physical system) 典型场景中. 然而, 这些方法通常仅从单一维度进行
建模, 未能全面覆盖自适应软件的多维特性, 这在一定程度上限制了其在空间飞行器自适应软件的演化与验证中
的应用. 此外在航天领域, 系统面临强实时性、资源受限与高可信保障的多重挑战, 现有方法在模型表达精度、决
策解释性和在轨可控性等方面尚难满足其严苛要求. 因此, 亟需面向航天控制软件特点, 构建具有多维建模能力、
可信演化保障与知识驱动决策机制的一体化方法体系.
2.2 自适应演化决策方法
软件自适应决策的目标是制定出当前最优策略, 以指导软件调整自身参数、行为以及结构. 针对空间飞行器
控制软件强实时、高可靠以及硬件资源受限等需求的自适应决策方法较为匮乏, 现有研究主要集中在基于规则的
决策技术、基于搜索的决策技术和基于学习的决策技术这 3 方面.
基于规则的决策技术主要有 Drools 规则引擎和 ECA 规则等方法. Drools 规则引擎基于 RETE 算法, 完全开
源且易于编辑更新和管理策略 [18] . ECA (事件-条件-动作) 规则描述简洁清晰, 因此被应用到多个领域, 并被视作是
执行协调演化的最高效的策略方法之一 [19] . 例如 Vlahavas 等人 [20] 将 ECA 规则应用于知识系统, 并行开展规则匹
配和执行; 张震 [21] 将 ECA 规则应用到空间数据库的条件匹配和规则执行; 胡利平等人 [22] 采用 ECA 规则对航空集
群决策规则进行规范化表达, 提高了航空集群的灵活性和适应性; 李青山等人 [23] 将 ECA 规则引入软件自适应领
域, 提出了一种软件自适应动态演化机制; Moreno 等人 [24] 则在其提出的 DARTSim 系统中引入 ECA 规则, 实现了
一组无人驾驶飞行器在敌对和未知环境中执行侦察任务的高级模拟. 相比于 Drools 规则, ECA 规则具有专门的监
测机制, 当环境发生变化时 ECA 会主动根据变化进行决策演化. 同时, ECA 方法的运行效率高, 契合航天领域专
用软件的强实时性需求. ECA 规则能够以简洁的语言描述策略的触发和执行过程, 减少大量的策略解析时间, 符
合空间飞行器控制软件资源受限条件. 但是该类方法存在一个缺陷问题, 即需要预先静态定义所有的候选策略, 可

