The Impact of Design Patterns on Quality Attributes in ML-Enabled Systems - A Multivocal Study of Component Models - Eriksson, Erik; Olausson, Joel (My University, 2024)
As machine learning is becoming a more common part of software systems, the need for new and improved architectural strategies due to the unique architectural challenges these systems introduce is becoming apparent. Right now, there is a lack of knowledge on how to build good architecture for such systems due to their nature of being rigid, vast, and dependent on data. This study analyses architectural design patterns in machine learning-enabled systems, and how they impact the quality of the system as a whole, to enable practitioners to make better architectural design decisions. The study was conducted by doing a multivocal literature review to extract component models from which architectural design patterns were derived. The connection to, and impact of, these patterns on the quality attributes of the system were then evaluated by interviewing experts. The result of this study is a set of 14 patterns, and the evaluated impact they have on the quality attributes of the system. These findings allow practitioners to choose design patterns based on the sought qualities for their system, making their architectural design decisions better.
Keywords: Software engineering; ML-enabled systems; software architecture; component models; design patterns; quality attributes