复杂软件系统的自愈式设计与部署方法
1. 引言
当今社会高度依赖复杂软件系统的正常运行。然而,传统的软件保障方法在应对现代计算机系统规模和复杂性的不断增长方面能力有限,这不仅影响了系统质量,还增加了系统拥有的总成本。近年来,自我管理和自主计算的研究为开发高可靠性、自我管理的复杂软件系统带来了新的可能,同时有助于降低成本。
能够自我管理的计算系统通常被称为自 系统,不过目前该领域的研究仍处于早期阶段,且主要集中在学术环境中。我们认为,独立的自 系统解决方案难以直接应用于工业相关系统,工业适用的解决方案需要将多种技术集成到一个通用框架中。
自愈是指软件系统能够自动诊断并修复其故障和性能问题的根本原因,并防止这些问题再次出现,这通常通过对软件系统及其操作参数进行结构修改来实现。为此,我们发起了欧盟 SHADOWS 项目,该项目专注于复杂系统的自愈,在多个方面拓展了现有技术水平。它引入了开创性技术,实现对其他方法无法解决的故障类别的系统自愈;整合了多种针对不同问题类别、在不同抽象层次上工作的技术,提供了一个通用解决方案框架;还采用了基于模型的方法,通过期望软件行为的模型来指导整个系统设计和部署阶段的自愈过程。
SHADOWS 项目由九个合作伙伴组成,包括研究机构和工业软件开发商。这种组合使研究伙伴不仅能共同创建统一的自愈解决方案,还能在多个不同应用领域的实际场景中验证该解决方案,从而提供更高质量的成果。目前项目仅开展了几个月,本文将介绍项目的背景、问题、底层技术、方法和方向,但具体成果尚未得出,项目的中间结果将发布在其网站上。
2. 问题陈述
传统的软件保障技术主要有两类用于提高系统可靠性。一类是严格的