A Negotiation Support System for Defining Utility Functions for Multi-Stakeholder Self-Adaptive Systems
Rebekka Wohlrab and
David Garlan.
In Requirements Engineering, 2022. https://doi.org/10.1007/s00766-021-00368-y.
Online links: Plain Text
Abstract
For realistic self-adaptive systems, multiple quality attributes need to be
considered and traded off against each other. These quality attributes are commonly encoded in a utility function, for instance, a weighted sum of relevant
objectives. Utility functions are typically subject to a set of constraints, i.e.,
hard requirements that should not be violated by the system. The research
agenda for requirements engineering for self-adaptive systems has raised the
need for decision-making techniques that consider the trade-offs and priorities of multiple objectives. Human stakeholders need to be engaged in the
decision-making process so that constraints and the relative importance of
each objective can be correctly elicited. This paper presents a method that
supports multiple stakeholders in eliciting constraints, prioritizing relevant
quality attributes, negotiating priorities, and giving input to define utility
functions for self-adaptive systems. We developed tool support in the form
of a blackboard system that aggregates information by different stakeholders,
detects conflicts, proposes mechanisms to reach an agreement, and generates
a utility function. We performed a think-aloud study with 14 participants to
investigate negotiation processes and assess the approach’s understandability
and user satisfaction. Our study sheds light on how humans reason about and
how they negotiate around quality attributes. The mechanisms for conflict detection and resolution were perceived as very useful. Overall, our approach was
found to make the process of utility function definition more understandable
and transparent. |
Keywords: Explainable Software, Self-adaptation.
|
|