Computing systems form the backbone of many areas in our society, from manufacturing to traffic control, healthcare, and financial systems. When software plays a vital role in the design, construction, and operation, these systems are referred as software-intensive systems. Self-adaptation equips a software-intensive system with a feedback loop that either automates tasks that otherwise need to be performed by human operators or deals with uncertain conditions. Such feedback loops have found their way to a variety of practical applications; typical examples are an elastic cloud to adapt computing resources and automated server management to respond quickly to business needs. To gain insight into the motivations for applying self-adaptation in practice, the problems solved using self-adaptation and how these problems are solved, and the difficulties and risks that industry faces in adopting self-adaptation, we performed a large-scale survey. We received 184 valid responses from practitioners spread over 21 countries. Based on the analysis of the survey data, we provide an empirically grounded overview of state-of-the-practice in the application of self-adaptation. From that, we derive insights for researchers to check their current research with industrial needs, and for practitioners to compare their current practice in applying self-adaptation. These insights also provide opportunities for the application of self-adaptation in practice and pave the way for future industry-research collaborations.
翻译:计算机系统构成我们社会许多领域的主干,从制造到交通管制、保健和财务系统。当软件在设计、建造和操作中发挥重要作用时,这些系统被称为软件密集型系统。自我适应为软件密集型系统配备了一个反馈环,使原本需要由人类操作者执行的任务自动化,或处理不确定的条件。这种反馈环找到了各种实际应用的途径;典型的例子是一个有弹性的云,可调整计算资源和自动服务器管理,以迅速满足商业需要。为了深入了解在实践中应用自我适应的动机、通过自我适应解决和如何解决这些问题的问题,以及工业界在采用自我适应方面所面临的困难和风险,我们进行了一次大规模的调查。我们从分布在21个国家的从业人员那里收到了184份有效的答复。根据对调查数据的分析,我们从经验上概述了应用自我适应技术方面的最新做法。我们从这个角度为研究人员了解了如何在实际应用自我适应、如何通过自我适应和如何解决这些问题,以及这些行业在采用自我适应方法时所面临的困难和风险。我们从21个国家的从业人员那里获得了184份有效的答复。我们从调查数据的分析中,从经验上概述了应用自我适应自我适应技术的先进做法。我们从此为研究人员了解了如何运用目前的研究方法,并比较了如何应用这些经验实践。我们还利用了工业实践的机会,以便将自己的实践应用。