Towards Using Probabilistic Models to Design Software Systems with Inherent Uncertainty
The adoption of machine learning (ML) components in software systems raises new engineering challenges. In particular, the inherent uncertainty regarding functional suitability and the operation environment makes architecture evaluation and trade-off analysis difficult. We propose a software architecture evaluation method called Modeling Uncertainty During Design (MUDD) that explicitly models the uncertainty associated to ML components and evaluates how it propagates through a system. The method is based on Bayesian networks, which enable both qualitative and quantitative assessments of software architectures. In particular, the method supports reasoning over how architectural patterns can mitigate uncertainty and enables comparison of different architectures focused on the interplay between ML and classical software components. While domain-agnostic and suitable for any system where uncertainty plays a central role, we validate our approach using as example a perception system for autonomous driving. For this system we empirically demonstrate that a component-based design is over 10% more resilient to uncertainty than an end-to-end design. Moreover, we bring empirically evidence that architecture design patterns can help to significantly decrease the uncertainty associated to ML components.
Fri 18 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:50 - 17:30
|A Multi-Objective Performance Optimization Approach for Self-Adaptive Architecturesshort-paperResearch Track
Davide Arcelli Università degli Studi dell'Aquila
|Towards Using Probabilistic Models to Design Software Systems with Inherent Uncertaintyshort-paperResearch Track