# Reasoning about Confidence in Goal Satisfaction
## 4 Data Quality Tagging and Propagation Mechanism
### Propagation Method
Note that for a model element initially tagged with DQ[\(x\)], the confidence is also that value (C[\(x\)] = DQ[\(x\)]). \[cv(S)=\frac{\sum_{x=1}^{n}cv(D_{x})}{n} \tag{5}\]  
where \(cv(S)\) is the confidence value of the decomposed GRL element and \(cv(D_{x}),1\leq x\leq n\), are the confidence values of the \(n\) sub-elements. **XOR/OR-decomposition:** the confidence of a parent goal satisfaction value is equal to the confidence value of its _maximally_ satisfied sub-goals. In case there are more than one sub-goal sharing the maximum satisfaction, the parent's confidence level becomes the average confidence of the maximally satisfied sub-goals for the OR-decomposition (see Figure 8 and Equation (6)). For the XOR-decomposition, the maximum confidence among the maximally satisfied sub-goals is selected (as \(i=1\) in the equation). As the OR-decomposition is about selecting one or many alternatives and the XOR-decomposition only one alternative, only the confidence levels of the selected alternatives are considered by the confidence propagation mechanism. This is different from the AND-decomposition, where the average of all confidence values was considered, because the XOR/OR-decomposition is an optimistic decomposition operator by nature, and is concerned with selecting some options while ignoring others. Figure 7: Confidence of element satisfactions in the case of an AND-decomposition. \[cv(S)=\frac{\sum_{x=1}^{n}cv(D_{x})\quad\textbf{where}\ v(D_{x})=Max((D_{1})_{-} (D_{n}))}{i\quad\textbf{where}\ i=Count(Max((D_{1})_{-}(D_{n})))} \tag{6}\]  
**Contribution:** the confidence of the satisfaction of a goal that is the target of contributions is the sum of the product of the contribution values of sub-goals and their confidence values, over 100 (and truncated to an integer value between 0 and 100), as formalized in Equation (7). \(C_{x}\) is a contribution level between \(-100\) and \(100\). In the example of Figure 9, \((50\times 75+75\times 25)/100=56\). If the sum of the contribution weights is larger than 100 (overcontribution), in order to avoid 'confidence building', the computed confidence level is normalized. This is a mechanism similar to the propagation of satisfaction values in GRL, where all the contributions and their weights are considered and truncated whenever necessary. \[cv(S)=Max(0,Min(100,\frac{\sum_{x=1}^{n}(cv(D_{x})\times C_{x})}{100})) \tag{7}\]  
**Dependency:** the confidence of a dependent element is its current confidence level (if any) when the depending elements all have higher (or equal) satisfaction levels than that dependent element's satisfaction (see Equation (8)). However, if some depending elements have lower satisfaction levels, then the confidence is computed as the minimum between the current confidence level (if any) and the confidence levels of the depending elements with the lowest satisfaction level (see Figure 10). This is a conservative propagation of confidence, and this choice is again dictated by the nature of the dependency link in GRL, which aims to identify locations for conservative evaluations in GRL models. \[cv(S  
More generally, computing the confidence for the satisfaction of a goal that is the destination of multiple dependency relationships _and_ contribution relationships is done by first handling decomposition confidence values, then contribution values (the confidence previously computed from the decomposition is considered as another contribution), and finally dependency values. In the latter case, the confidence of the destination goal's satisfaction is the average between the confidence of the dependency relationships and the contribution's confidence values. **Alternative Selection:** in a goal model, there could be several design alternatives that could be used in combination to evaluate the satisfaction of a goal. The confidence propagated to top-level goals and other elements reflects only the confidence of the chosen design alternative where the other alternatives' impact is considered to be _absent_ if no confidence value is assigned to them.