Engineering long-running computing systems that achieve their goals under ever-changing conditions pose significant challenges. Self-adaptation has shown to be a viable approach to dealing with changing conditions. Yet, the capabilities of a self-adaptive system are constrained by its operational design domain (ODD), i.e., the conditions for which the system was built (requirements, constraints, and context). Changes, such as adding new goals or dealing with new contexts, require system evolution. While the system evolution process has been automated substantially, it remains human-driven. Given the growing complexity of computing systems, human-driven evolution will eventually become unmanageable. In this paper, we provide a definition for ODD and apply it to a self-adaptive system. Next, we explain why conditions not covered by the ODD require system evolution. Then, we outline a new approach for self-evolution that leverages the concept of ODD, enabling a system to evolve autonomously to deal with conditions not anticipated by its initial ODD. We conclude with open challenges to realise self-evolution.
翻译:在不断变化的条件下实现目标的长期运算系统具有重大挑战。自适应已经被证明是处理变化条件的可行方法。然而,自适应系统的能力受其操作设计域(ODD)的限制,即建立该系统的条件(要求、限制和背景)。例如,添加新目标或应对新情境这样的变化需要系统进化。虽然系统进化过程已经大量自动化,但仍然需要由人为驱动。随着计算系统越来越复杂,人为驱动的进化最终将无法管理。在本文中,我们提供ODD的定义,并将其应用于自适应系统。接下来,我们解释了ODD未涵盖的条件为什么需要系统进化。然后,我们概述了一种新的自进化方法,利用ODD的概念,使系统能够自主进化以应对最初ODD未预期的条件。最后,我们提出了实现自进化的开放性挑战。