Page 42 - 《软件学报》2021年第7期
P. 42
1960 Journal of Software 软件学报 Vol.32, No.7, July 2021
图 1 中,第 1 层,即由内因(包括数据状态、功能、偏好和目标,将在第 3 节加以阐述)、自适应行为(即动作)
以及决定性自适应规则(决定内因和自适应行为之间的关系从而应对内因的变化)组成.第 2 层由外因和内因之
间的关系即影响性自适应规则表示,在部署环境确定时,这一层会被绑定,并且可以在部署环境改变时或者在部
署环境扩展时替换,而独立设计的第 1 层适应逻辑则固定不变.值得注意的是,部署环境变化是指从一个部署环
境转移到另一个部署环境,而部署环境扩展是指设计或开发人员随着对开放且复杂的部署环境的进一步了解,
从而存在一些环境因素从未知变成已知,也可被认为是部
署环境变化的另一种形式.
举例说明:为了进一步解释本文的方法和形式化描述,
[7]
我们用无人机救灾系统 作为简例说明,如图 2 所示.在一
个灾难场景中,城市中的通信基础设施因灾害而受损;城市
中的部分地区可能不安全.危险区域被划分为几个街区
(block),受害者分布在不同的街区且不知道救援中心所在
位置.无人机(UAV)将被派遣去搜索救援受害者,并引导受
害者到达救援中心.在搜救过程中,无人机不仅要保证搜救
Fig.2 Running example—A disaster relief system 任务快速、彻底(在可接受的时间内搜救出所有遇难者),还
图 2 驱动例子——无人机救灾系统 要保证其安全性(不坠毁)和储能(避免电池耗尽).我们期望
这种无人机救灾系统能够被部署到不同的灾害环境下进行搜救,如火灾、洪水、地震等,尽管每个部署环境中
能对自适应行为产生影响的环境因素大不相同.
2 概念模型的形式定义
受归因理论的启发,部署环境中的环境因素(外因)通过内因对系统产生影响,而不是直接影响或决定系统
的自适应行为.我们将基于内外因的概念模型 M 定义为一个三元组 M=(IC,DAP,IAP),其中,
1) IC 是内因(即自适应行为的内在原因),可以进一步指定为元组 IC=(Data State,Goal,Preference,Function);
2) DAP 是决定性自适应规则,它定义了系统的内部原因如何决定自适应行为,一般表示为“内因行动”
形式;
3) IAP 是影响性自适应规则,表示环境因素如何影响内因的变化,其形式为“环境因素内因”.
2.1 内因与系统状态
数据状态(data state).它是需要被记住的系统数据信息,由属性值的集合表示.假设 Attr={a1,...,an}为系统
的属性集合,Dom={dom(a1),...,dom(an)}为这些属性的域集,那么系统的数据状态就是这些属性与其值的映射.
在示例中,无人机系统需要存储一定的数据信息,如当前位置、剩余能量、飞行高度、已搜索块、未搜索块、
危险块、状态(即巡航或受害人引导).无人机的数据状态是由这几种数据项的值来定义的.
目标(goal).它是系统期望达到或保持的数据状态.一般来说,目标可以分为 3 类 [20] :一类目标是追踪一个参
考值,又被称为设定点,在这种情况下,目标是使一个或多个变量尽可能地接近设定点;第 2 类目标是将变量居于
特定的范围内,有置信区间;第 3 类目标涉及某个变量的最小化(或最大化).目标是期望的某一个或者某些数据
状态:
Goal {| g g 2 DataState eval g ( ) 1}.
评估函数 eval 用来计算数据状态是否满足期望,如果当前数据状态 g 满足期望,即 eval(g)=1,就可以认为系
统完全实现了目标;但在某些情况下,系统只能(无限地)接近目标而不能达到目标.例如,要求无人机的飞行速度
“准确地保持在每秒 2 米”是很难做到的,只能说系统在一定程度上实现了目标.在救灾任务的场景中,如果所有
的区块都被搜救过了,那么这个目标的评价结果是 1.如果没有,则评价函数为 eval(g)=num(searched blocks)/
num(total blocks),即目标的满足度与巡航的街区数量成正比.