自适应系统软件工程中的永久保证:挑战与解决方案
在自适应系统的软件工程领域,确保系统在整个生命周期内满足目标是一项至关重要且极具挑战性的任务。本文将深入探讨自适应系统的永久保证相关内容,包括不确定性挑战、解决方案要求、实现方法、机制以及研究挑战等方面。
1. 自适应系统保证概述
自适应系统的变化从开发阶段转移到运行时,责任也从软件工程师或系统管理员转移到系统本身。因此,为自适应系统(特别是业务或安全关键系统)提供系统目标在整个生命周期内得到满足的新证据,是软件工程过程的重要方面。
此前的相关研究提出了一些挑战,例如在建模维度上,需要定义能代表广泛系统属性的模型;在需求方面,要定义能在抽象层面捕捉不确定性的语言;在工程领域,需明确反馈控制循环的作用;在保证方面,要补充传统的验证与确认(V&V)方法,加入运行时保证。
2. 永久保证的核心挑战 - 不确定性
永久保证是指通过一个持久的过程,结合系统驱动和人为驱动的活动,持续提供新证据,以应对自适应系统在整个生命周期中面临的不确定性,确保系统满足需求。
不确定性是这一过程的主要潜在挑战。目前,对于不确定性的定义尚无统一标准。我们根据位置和性质两个维度对不确定性来源进行分类:
| 不确定性来源 | 位置 | 性质 |
| — | — | — |
| 简化假设 | 系统(结构/上下文) | 认知 |
| 模型漂移 | 结构 | 认知 |
| 不完整性 | 结构 | 认知/偶然 |
| 未来参数值 | 输入 | 认知 |
| 适应函数 | 结构 | 认知/偶然 |
| 自动学习 | 结构/输入