Modern software systems are subjected to various types of uncertainties arising from context, environment, etc. To this end, self-adaptation techniques have been sought out as potential solutions. Although recent advances in self-adaptation through the use of ML techniques have demonstrated promising results, the capabilities are limited by constraints imposed by the ML techniques, such as the need for training samples, the ability to generalize, etc. Recent advancements in Generative AI (GenAI) open up new possibilities as it is trained on massive amounts of data, potentially enabling the interpretation of uncertainties and synthesis of adaptation strategies. In this context, this paper presents a vision for using GenAI, particularly Large Language Models (LLMs), to enhance the effectiveness and efficiency of architectural adaptation. Drawing parallels with human operators, we propose that LLMs can autonomously generate similar, context-sensitive adaptation strategies through its advanced natural language processing capabilities. This method allows software systems to understand their operational state and implement adaptations that align with their architectural requirements and environmental changes. By integrating LLMs into the self-adaptive system architecture, we facilitate nuanced decision-making that mirrors human-like adaptive reasoning. A case study with the SWIM exemplar system provides promising results, indicating that LLMs can potentially handle different adaptation scenarios. Our findings suggest that GenAI has significant potential to improve software systems' dynamic adaptability and resilience.
翻译:现代软件系统面临来自上下文、环境等多种不确定性。为此,自适应技术被探索为潜在解决方案。尽管近期利用机器学习技术的自适应方法已展现可喜成果,但其能力受限于机器学习技术本身的约束,例如需要训练样本、泛化能力有限等。生成式人工智能(GenAI)的最新进展开辟了新可能性——因其基于海量数据训练,有望实现不确定性解读与自适应策略合成。在此背景下,本文提出利用GenAI(尤其是大语言模型,LLMs)提升架构自适应效能与效率的愿景。通过类比人类操作员,我们认为LLMs可凭借其先进的自然语言处理能力自主生成类似的、上下文敏感的自适应策略。该方法使软件系统能够理解自身运行状态,并实施符合架构需求与环境变化的自适应调整。通过将LLMs集成到自适应系统架构中,我们实现了类似于人类自适应推理的精细化决策。基于SWIM示例系统的案例研究取得了令人鼓舞的结果,表明LLMs具备处理不同自适应场景的潜力。我们的研究发现表明,GenAI在提升软件系统动态适应性与弹性方面具有显著潜力。