Page 44 - 《软件学报》2021年第7期
P. 44
1962 Journal of Software 软件学报 Vol.32, No.7, July 2021
下,所有的知识应该是可以在同一类系统中复用的,即这一类系统可以适应于各种部署环境,实现系统目标.然
而,这个构件通用性的代价如下.
需要指明和维护所有对自适应行为有影响的环境因素,以便将系统应用于不同的部署环境中.
如果随着环境信息的增加而需要改变知识构件,则整个构件需要修改或调整,以帮助(正确地)满足系统
的目标.
为了支持对复杂且开放环境的不完全可知、对环境认知随时间的深入以及支持自适应规则在不同部署环
境之间的复用,我们将系统特定知识与部署环境特定知识分开,以呼应概念模型中的两层结构.系统特定知识用
决定性自适应规则(DAP)表示,映射自适应动作与系统内因之间的关系,这类知识是固定的,支持不同部署环境
中的可复用性.同时,定义环境因素(即外因)如何影响内因的环境特定知识,以影响性自适应规则(IAP)的形式存
在,随着部署环境的变化或部署环境的扩展(即发现新的有影响力的环境因素),该知识是可以改变和调整的.这
[9]
符合关注点分离的原则——将设计分为不同部分,且每一部分都处理一个单独的关注点 .
3.2 MAPE闭环
对于特定的部署环境,自适应行为将由被扩展的 MAPE 循环机制来实现,其实现框架如图 3 所示.
Fig.3 Implementation model of attribution-based self-adaptive systems
图 3 基于归因理论的自适应系统的实现模型
部署环境中产生的事件表明了环境因素的变化,外层监测器通过探针(或传感器)从部署环境中收集或合成
特定数据,并以外因的形式保存数据.一般来说,不同部署环境中的环境因素可能不一样,甚至可能有很大的差
异.以无人机救灾系统为例,环境中的事件可能表明巡航无人机在火灾救灾部署场景中检测到了火势,或者在洪
水救灾部署场景中检测到了水位上升.在推测分析过程中,外层分析与规划器构件接收更新的外因(由外层监测
器输入),通过调用自适应规则引擎来推理影响性自适应规则(IAP)从而获取系统的数据状态,并进行分析.在此
基础上,外层分析与规划器构件进一步检查系统是否达到目标、是否满足偏好、是否需要自适应调整.一个典型的
例子是,在火灾或地震的情况下,可能危及无人机安全的烟雾或坠落物,会导致新的街区被标志为危险,即改变系统
的数据状态和内因.外层(即第 2 层)是在部署时根据不同的部署环境绑定的,且可在部署环境变化时加以替换.