Specific developmental and operational characteristics of machine learning (ML) components, as well as their inherent uncertainty, demand robust engineering principles are used to ensure their quality. We aim to determine how software systems can be (re-) architected to enable robust integration of ML components. Towards this goal, we conducted a mixed-methods empirical study consisting of (i) a systematic literature review to identify the challenges and their solutions in software architecture forML, (ii) semi-structured interviews with practitioners to qualitatively complement the initial findings, and (iii) a survey to quantitatively validate the challenges and their solutions. In total, we compiled and validated twenty challenges and solutions for (re-) architecting systems with ML components. Our results indicate, for example, that traditional software architecture challenges (e.g., component coupling) also play an important role when using ML components; along new ML specific challenges (e.g., the need for continuous retraining). Moreover, the results indicate that ML heightened decision drivers, such as privacy, play a marginal role compared to traditional decision drivers, such as scalability or interoperability. Using the survey, we were able to establish a link between architectural solutions and software quality attributes; which enabled us to provide twenty architectural tactics used for satisfying individual quality requirements of systems with ML components. Altogether, the results can be interpreted as an empirical framework that supports the process of (re-) architecting software systems with ML components.
翻译:为实现上述目标,我们进行了混合方法经验研究,其中包括:(一) 系统文献审查,以确定机器学习组成部分的具体发展和操作特点,以及这些组成部分固有的不确定性,要求采用强有力的工程原则,以确保其质量;我们的目的是确定如何(重新)设计软件系统,使ML组成部分能够进行强有力的整合;为实现这一目标,我们开展了混合方法经验研究,其中包括:(一) 系统文献审查,以确定ML组成部分在软件结构中的挑战及其解决办法;(二) 与从质量上补充初步调查结果的半结构访谈,以及(三) 调查,从数量上对挑战及其解决办法进行验证。总的来说,我们汇编和验证了与ML组成部分相配的(重新)建筑设计系统的20项挑战和解决办法。例如,我们的成果表明,传统软件结构挑战(例如,组件组合组合组合组合)在使用ML组成部分时也发挥重要作用;以及新的ML具体挑战(例如,需要不断再培训)。 此外,结果显示,ML加强了决策驱动因素,例如隐私,与传统的决策驱动因素,例如可调整性或互操作性。我们通过调查,能够将建筑结构质量要求的每个组成部分与M质量要求联系起来。