The pervasive nature of software systems results in architecture challenges to guarantee better system qualities including performance, reliability, and security. The field of software architecture has continuously evolved to adapt to these challenges and new computing trends. Similarly, the field of machine learning (ML) is advancing rapidly with the availability of processing increasing amounts of data, due to better and specialized computing infrastructure as well as algorithms of increasing efficiency. This revolution has led many domains to leverage ML techniques for data analytics, decision support, and advanced user interfaces, among others. However, traditional software development and deployment practices are faced with and pose significant challenges when developing ML systems.
The increasing usage of ML, coupled with the software architecture challenges of the modern era, has resulted in two broad research challenges and opportunities: (1) developing software architecture principles and practices for ML-enabled systems (SA4ML), and (2) application of ML techniques for (better) architecting software systems (ML4SA) and detecting and triggering runtime needs for self-adaptation, architecture reconfiguration, and even ML model maintenance and evolution. Contributions in these two areas are emerging from researchers and practitioners but are scattered across different communities such as software engineering, software architecture, self-adaptive systems, and machine learning.
This Dagstuhl Seminar presents an opportunity to bring these communities together to develop a common vocabulary and a coherent research agenda with a better understanding of problems faced in industry. First, the seminar will frame ML challenges as quality attributes to understand the architectural design approaches and analysis techniques that would ensure their successful realization in ML systems. Second, it will focus on the role of ML for improving the architecture of software systems that will meet their quality goals over time. The seminar will be then organized around the major topics SA4ML and ML4SA.
In SA4ML, the seminar will discuss the state-of-the art and practice for architecting ML systems. The seminar participants will be asked to identify challenges and opportunities, and to identify the research directions for better architecting of ML systems. In terms of quality aspects, we intend to focus on the following two major topics: (1) Building architecture for the sustainability and evolution of ML systems, and (2) architecture patterns, styles, and tactics for ML model development pipelines and ML-enabled systems. The overall research question will be how to architect quality ML systems to drive concrete discussions on existing techniques and practices that apply as well as new ones that need new research.
In the ML4SA portion of the seminar, the participants will explore the role of ML in the improvement of architectures for current and future generations of software systems. The audience will be asked to identify current challenges and opportunities, and to identify the research agenda for architecting future systems using ML. Some topics that will be specifically discussed are self-adaptation driven by ML and ML-driven architecture reconfiguration. The macrotopic of quality in SA&ML will be pervasive to the seminar. We will specialize on the quality needs and opportunities associated with SA&ML. In the context of this seminar, quality can be seen from the two different perspectives characterizing this seminar: the specific quality characteristics associated with the ML-enabled systems under design (SA4ML), and the quality improvements enabled by using ML techniques when architecting software systems (ML4SA). The quality attributes of specific interest for this seminar include (1) trustworthiness; (2) ethics, including societal and environmental wellbeing, human values, fairness, privacy, contestability, accountability, etc., to the extent that they can be abstracted and managed by architectural design decisions; (3) transparency and explainability; (4) security and safety; (5) deployability and operability (for MLOps); (6) monitorability and observability; and (7) sustainability. Associated with this topic, the seminar will also discuss verification and validation techniques necessary to monitor, assess and measure quality attribute characteristics for SA&ML (including self-healing, auditability, compliance, and conformance).
- Machine Learning
- Software Engineering
- Machine Learning
- Software Architecture
- ML for Software Architecture
- Architecting ML systems.