Towards Using Probabilistic Models to Design Software Systems with Inherent Uncertainty
This addresses software engineering challenges for systems integrating ML, though it is incremental as it builds on existing uncertainty modeling approaches.
The paper tackles the challenge of evaluating software architectures with machine learning components by proposing the MUDD method to model and propagate uncertainty, enabling comparison of architectures to mitigate uncertainty, as demonstrated in an autonomous driving perception system.
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 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 our approach is domain-agnostic and suitable for any system where uncertainty plays a central role, we demonstrate our approach using as example a perception system for autonomous driving.