What are the implications of seeing requirements satisfaction as a case of utility maximization? Expected Utility Theory is the mainstream framework (or, at least the one taught first) in economics for conceptualizing rational decision making. Can the problem of satisfying some given set of requirements be translated into that framework? What, if anything, is gained or lost in doing so?
Basic Expected Utility Model
In an 1982 Journal of Economic Literature article , Paul Schoemaker wrote:
“It is no exaggeration to consider expected utility theory the major paradigm in decision making since the Second World War. It has been used prescriptively in management science (especially decision analysis), predictively in finance and economics, descriptively by psychologists, and has played a central role in theories of measurable utility.”
The basic idea is that there are options to choose from, i.e., alternative choices, and each has some predicted outcomes. The decision maker evaluates the desirability of outcomes, which leads them to have preferences over outcomes. Preferences, if complete and transitive, imply that there is a function to assign utility values to outcomes, and these utility values reflect preferences (utility increase corresponding to increasing preference). Probability quantifies uncertainty of predicted outcomes: if I choose some option A, and I predict it will lead to a vector of outcomes x_A, my prediction being uncertain means that whichever utility I see in x_A needs to be adjusted by my uncertainty that x_A will in fact obtain. Schoemaker summarizes this formalization of the Expected Utility model as follows:
“Expected utility models are concerned with choices among risky prospects whose outcomes may be either single or multi-dimensional. If we denote these various (say n) outcome vectors by x_i and denote the n associated probabilities by p_i such that Sum[i = 1..n](p_i) = 1, we then generally define an EU [Expected Utility] model as one which predicts or prescribes that people maximize Sum[i = 1..n](F(p_i)U(x_i)).”
Levels of Requirements Satisfaction as Outcomes in an Expected Utility Model
I wrote in another text, here, that a requirement corresponds to a criterion in the standard decision analysis problem, itself based on Expected Utility Theory.
In the basic Expected Utility model, as Schoemaker presents it above, criteria do not show up. They are part of the utility function: utility is an aggregate score, so to speak, that reflects “how good” an option’s outcomes are across multiple criteria that matter to the decision maker. Each outcome vector x_i is a vector of values over criteria used to compare options.
For example, if in the choice of a car, option A has x_A = (red, 2, 240 km/h) this might be that ‘red’ is the value for criterion ‘color’, 2 is the value for ‘doors’, and ‘240 km/h’ is the value for ‘maximal speed’. For another option, B, the vector could be x_B = (black, 4, 180 km/h).
It is straightforward to rewrite the criteria to look like requirements: ‘color’ might be rephrased ‘color should be blue’ and ‘red’ turned into the binary value 0, ‘doors’ can be rephrased ‘it should have 2 doors’, and ‘maximal speed’ can be rewritten as ‘maximal speed should be high’.
It follows that we can translate requirements to criteria (and back), and values over criteria can be converted to scales of requirements satisfaction.
Note that the interpretation of probability does not change because of translating criteria to requirements. This is easy to observe above.
Requirements Satisfaction as Expected Utility Maximization
If requirements are criteria, and predicted outcomes of options map to requirements satisfaction, then requirements satisfaction becomes the problem of choosing the option for which we predict the highest expected utility.
This is very different from the classical definition of the problem to solve when doing requirements engineering. In it , given requirements R, and assumptions about the environment K in which they need to be satisfied, the solution is to write a specification S which, assuming it is written in a classical logic, satisfies these conditions:
- S and K are logically consistent; and
- K and S entail R, or informally, if K and S are true, then R will be true.
The only case in which the classical requirements problem above agrees with requirements satisfaction as expected utility maximization, is if the second condition (K and S entail R) is such that R is satisfied to the same level as by the option that maximizes expected utility. This can only be accidental, since entailment and optimization are different.
- Schoemaker, Paul JH. “The expected utility model: Its variants, purposes, evidence and limitations.” Journal of economic literature (1982): 529-563.
- Zave, Pamela, and Michael Jackson. “Four dark corners of requirements engineering.” ACM transactions on Software Engineering and Methodology (TOSEM) 6.1 (1997): 1-30.