# An Approach for Evaluating Softgoals Using Weight

Shuichiro Yamamoto

► To cite this version:

Shuichiro Yamamoto. An Approach for Evaluating Softgoals Using Weight. 3rd International Conference on Information and Communication Technology-EurAsia (ICT-EURASIA) and 9th International Conference on Research and Practical Issues of Enterprise Information Systems (CONFENIS), Oct 2015, Daejon, South Korea. pp.203-212, 10.1007/978-3-319-24315-3_20. hal-01466221

HAL Id: hal-01466221

https://inria.hal.science/hal-01466221

Submitted on 13 Feb 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# An approach for evaluating softgoals using weight

Shuichiro Yamamoto

Strategy Office, Information and Communications Headquarters
Nagoya University
Nagoya, Japan
syamamoto@acm.org

**Abstract.** The resolution of conflicts among non-functional requirements are difficult problem during the analysis of non-functional requirements. To mitigate the problem, the weighted softgoal is proposed based on the Softgoal Interdependency Graphs (SIG) that help engineers resolve conflicts among non-functional requirements. It is also shown evaluation results of the weighted SIG applications to develop non-functional requirements and choose alternative design decisions.

**Keywords:** Non-Functional Requirements, NFR framework, Softgoal Interdependency Graphs, softgoal weight

## 1 Introduction

Non-functional requirements are used to define qualities and validate that system architectures achieve the quality requirements. NFR framework is traditionally focusing on qualitative evaluation of softgoals, and different kinds of softgoals are evaluated separately. For example, it is difficult to evaluate security and safety softgoals in the integrated way. Therefore, conflicts between safety and security softgoals should resolve implicitly.

This paper discusses the effectiveness of a softgoal weight extension based on SIG diagrams of the NFR framework. The weight values are assigned to softgoal decompositions and contributions link. The new main top goal is introduced to resolve conflicts between security and safety softgoals that are decomposed from the main softgoal. The weights assigned to each link define clearly priority between decomposed softgoals.

Section 2 describes related work of non-functional requirements approach based on softgoals. Section 3 proposes an approach to introduce quantitative weights to SIG diagrams. Section 4 describes examples of applying the proposed approach to evaluate operationalization softgoals for simple cases. In section 5, we discuss the effectiveness of the proposed approach. Section 6 concludes the paper and shows future work.
## 2 Related work

The NFR framework [1] is a Goal Oriented Requirements Engineering method can be used to evaluate architecture by defining levels of safety and security requirements. The SIG (Softgoal Interdependency Graph) is used to represent security and safety goals. The NFR soft goals are non-functional requirements soft goals, operationalization soft goals, and claim soft goals. First, constraints of target systems are clarified by non-functional requirements soft goals. Soft goals are, then, decomposed into sub soft goals to develop SIG. NFR soft goals are allocated to operationalization soft goals for describing target system functions.

In SIG the design decisions for the target system are represented by operationalization soft goals. The operationalization soft goals are validated for satisfying parent soft goals.

For analysing functional requirements, alternative requirements are selected to satisfy non-functional soft goals. If the conflict between non-functional soft goals is occurred, the conflict should be resolved by using the criteria whether non-functional requirements are satisfied.

To evaluate the quality of architecture, the following methods are proposed.

### 1) Check list based method

The operationally critical threat, asset, and vulnerability evaluation (OCTAVE) for security provides the check list to evaluate vulnerability [2].

However, the standard check list did not satisfy every safety requirements and security requirements. The check list also have the problem that it cannot be applied to resolve conflicts and interactions between safety and security requirements.

### 2) Scenario based method

Scenarios can be developed to describe critical factors that impact on architectures significantly. The scenarios are used to identify important factors that affect high priority requirements. Utility trees are used to define scenarios in ATAM (Architecture Trade off Analysis Method) [3]. ATAM provides the quality trade off analysis method to analyze safety and security requirements.

### 3) Subramanian method

Subramanian proposed the following method that NFR framework is applied to analyse safety and security [4]. Safety and security are decomposed by using non-functional soft goals. The target architecture is decomposed by operationalization soft goals. The contribution relationship from operationalization soft goals to non-functional soft goals are defined. By using propagation rules, labels of soft goals are investigated to evaluate safety and security of the target architecture. However their approach did not consider quantitative relationship between values of child soft goals. And they evaluate safety and security soft goals independently.

To analyse system faults, FTA (Fault Tree Analysis) has been used [5]. Although the fault tree of FTA can be considered as an AND/OR goal graph, nodes of the fault tree represent fault events and logic gates. An upper event is resulted from a combination of lower events through a logic gate. The lowest events are primary events that require no further logical decomposition.
## 3 Softgoal weight

In case of introducing weights to SIG, nodes and relationships are candidates to assign weights. Names are assigned to SIG nodes, but SIG relationships do not have names. Therefore, we consider to add weights as the attributes of node names. This approach is comfortable because it does not affect the SIG grammar syntax. Attributes are not assigned for the SIG relationship, because attributes for the relationship between softgoals can be represented by node attributes.

In NFR framework, the achievement of soft goals are shown by the check symbol for each soft goal. Fig.1 shows an example portion of NFR framework to assure the safety of elevator control. The buffer device evades a car collision to the ground when the car is going down. This supports the claim that the down movement of the elevator is safe.

<figure><img src="image_2.png" /><figcaption>Fig. 1. A portion of NFR framework to assure safety of elevator control</figcaption></figure>

### 3.1 AND Decomposition weight

If a softgoal decomposed by the AND relationship, then the AND decomposition weight label $<W_1, ..., W_k>$ is appended to the parent softgoal name.

Where k is the number of sub softgoals, and Wi are defined to satisfy $\Sigma_{i=1}^{k} W_i = 1$.

### 3.2 OR Decomposition weight

If a softgoal decomposed by the OR relationship, then the OR decomposition weight label $<\max(W_1, ..., W_k)>$ is appended to the parent softgoal name, where $W_i$ is the weight of the i-th sub softgoal.
### 3.3 Operationalization weight

If a softgoal is related to operationalization softgoals, then the weight ratio label <W<sub>1</sub>, ..., W<sub>k</sub>> is appended to the parent softgoal name.

Where k is the number of operationalization softgoals that are related to the softgoal, and Wi are defined to satisfy Σ<sub>i=1,k</sub> Wi = 1.

### 3.4 Contribution weight

There are positive and negative contributions in SIGs. The weights of positive and negative contributions are +N and -N, respectively. N is either 1 or 2. 1 and 2 also mean weak and strong contribution, respectively. The positive and negative contributions can be represented by styles of relation lines. The solid and dotted lines show positive and negative contributions, respectively.

### 3.5 Weight Propagation Rules

There are two rules for operationalization and decomposition. The operationalization propagation rule is defined as follows.

Let a parent softgoal is contributed by k operationalization goals. And let <P> be the weight of the softgoal. Let <Q<sub>1</sub>, ..Q<sub>k</sub>> be the operationalization weight ratio of the softgoal. Let <Ri> be the weight of i-th operationalization goal, and Ci be the contribution weight of the operationalization goal to the softgoal, respectively. Then the weight value P of the softgoal is calculated by the following equation.

$$P = (\sum_{i=1,k} Q_i * R_i * C_i), \text{ where } \sum_{i=1,k} Q_i = 1$$

The Fig.2 shows an example of the operationalization propagation. Suppose the weights of operationalization goals are <Q>, <R>, <S>, and the contribution weight ratio is <1/3, 1/3, 1/3>, then the weight P of the softgoal is Q/3+R/3-S/3, where Q and R are the positive, but S is the negative contribution.

<figure><img src="image_3.png" /><figcaption>Fig. 2. Operationalization propagation</figcaption></figure>

In the same way, the decomposition propagation rule can be defined as follows. Let a parent softgoal is decomposed by k sub softgoals with AND decomposition. Let <P> be the weight of the softgoal. Let <Q<sub>1</sub>, ..Q<sub>k</sub>> be the AND decomposition weight ratio of the softgoal. Let <Ri> be the weight of i-th sub softgoal. Then the weight value P of the softgoal is calculated by the following equation.
$$P = (\sum_{i=1,k} Q_i * R_i), \text{ where } \sum_{i=1,k} Q_i = 1$$

The Fig.3 shows an example of the AND decomposition propagation. Suppose the weights of sub softgoals are <Q>, and <R>. And the contribution weight ratio is <1/2, 1/2>, then the weight P of the softgoal is Q/2+R/2.

<figure><img src="image_4.png" /><figcaption>Fig. 3. AND decomposition propagation example</figcaption></figure>

In case of OR decomposition, P is also calculated by the following equation.

$$P = \max(R_1, \dots, R_k)$$

The Fig.4 shows an example of the OR decomposition propagation. Suppose the weights of sub softgoals are <Q>, and <R>. Then the weight P of the softgoal is the $\max(Q, R)$.

<figure><img src="image_5.png" /><figcaption>Fig. 4. OR decomposition propagation example</figcaption></figure>

# 4 Examples of weighted SIG

## 4.1 Credit card account

The credit card system shall manage customer accounts. The NFR of the customer accounts consists of good performance, security, and accessibility.

The weighted SIG for the customer accounts of a credit card system is shown in Fig.5. The main NFR is decomposed into the above three softgoals. The top softgoal of the figure integrates these softgoals as well as defines that these softgoals have the same priority by using the weight attribute clause <1/3, 1/3, 1/3>.
<figure><img src="image_6.png" /><figcaption>Fig. 5. Decomposition of a main NFR with weights</figcaption></figure>

The impact of the operationalization softgoals to achieve the above NFRs can be evaluated by adding operationalization softgoals to the weighted SIG. An example of the interrelationship between NFR and operationalization softgoals are shown in Fig.6.

<figure><img src="image_7.png" /><figcaption>Fig. 6. Evaluation of the decision impact</figcaption></figure>

There are 8 operationalization softgoals. The Authorize access to account information softgoal is decomposed into Validate access against eligibility rules, Identify users, and Authenticate user access softgoals by AND decomposition. Authenticate user access softgoal is also decomposed into Compare signatures and Additional ID softgoals by OR decomposition. The Uncompressed format operationalization have the positive and negative contribution to the Space and Response time softgoals, respectively. The indexing operationalization has the positive contribution to the Response time softgoal. The Validate access against eligibility rules operationalization has negative and positive contribution to the Response time and accurate softgoals, respectively. Additional ID operationalization has negative contribution to the Accessibility softgoal.

The impact of the operationalization can be evaluated as follows.

$$ \begin{aligned} & \left(-\frac{1}{2} + \left(\frac{1}{3} + \frac{1}{3} - \frac{1}{3}\right)\right)\frac{2}{3} + \left(\frac{0}{3} + \frac{1}{2}\right)\frac{2}{3} + \frac{0}{3} + \frac{0}{3} + \left(-\frac{1}{3}\right) \\ &= \left(-\frac{1}{2} + \frac{1}{6}\right)\frac{3}{3} + \frac{1}{18} - \frac{1}{3} \\ &= -\frac{1}{9} - \frac{5}{18} = -\frac{7}{18} \end{aligned} $$
Therefore the operationalization is not a good decision in total. It is difficult to evaluate the total impact of the operationalization without the top main softgoal.

## 4.2 Alternative design decision

Fig.7 shows the comparison of alternative operationalization to manage the system data. The top NFR softgoal is decomposed into comprehensibility, modifiability, performance, and reusability softgoals. The shared data and abstract data type are two operationalization alternatives.

The total impact value of the quality requirements for shared data is calculated as follows.

$$ \begin{aligned} & \frac{1}{2} - \frac{1}{2})/6 + (-\frac{1}{3} - \frac{1}{3} + \frac{1}{2} + 0)/3 + \frac{1}{2} + 0)/3 - \frac{1}{6} \\ &= 0 + (-\frac{2}{3} + \frac{1}{6})/3 + \frac{1}{6} - \frac{1}{6} = -\frac{1}{6} \end{aligned} $$

The total impact value of the main non-functional requirements for Abstract Data Type is calculated as follows.

$$ \frac{1}{6} + (-\frac{1}{3} + \frac{1}{3} + 0)/3 - (\frac{1}{2})/3 + \frac{1}{6} = \frac{1}{6} + 0 - \frac{1}{6} + \frac{1}{6} = \frac{1}{6} $$

The result shows that Abstract data type is better than shared data.

It is worth to remark that contribution weight are not assigned to the bottom level non-functional requirement softgoals in Fig.7. Because the shared data and abstract data type softgoals are different alternative operationalization softgoals, therefore the bottom level non-functional requirement softgoals have no weight value list.

<figure><img src="image_8.png" /><figcaption>Fig. 7. Evaluating the impact of solution alternatives on the integrated NFR</figcaption></figure>

The impact evaluation can also be represented by tabular form. Table 1 shows the tabular evaluation of Abstract Data Type solution for the SIG diagram. The column values of the Abstract Data Type shows the contribution values for NFR softgoals.
<table><caption>**Table 1.** Tabular evaluation of Abstract Data Type solution</caption><thead><tr><th colspan="6">SIG decomposition structure</th><th>AbstractDataType</th></tr></thead><tbody><tr><td rowspan="2">Main NFR<br>0.16667</td><td>1/6</td><td>Comprehensibility<br>1</td><td>1/2</td><td>Coherence<br>1</td><td></td><td>1</td></tr><tr><td></td><td></td><td>1/2</td><td>Simplicity<br>1</td><td></td><td>1</td></tr><tr><td rowspan="4"></td><td rowspan="2">1/3</td><td>Modifiability<br>0</td><td>1/3</td><td>Modifiability<br>[Process]<br>-1</td><td></td><td>-1</td></tr><tr><td></td><td>1/3</td><td>Modifiability<br>[Data Rep.]<br>1</td><td></td><td>1</td></tr><tr><td rowspan="2"></td><td rowspan="2"></td><td>1/3</td><td>Modifiability<br>[Function]<br>0</td><td>1/2</td><td>Extensibility<br>[Function]<br>-1</td></tr><tr><td></td><td>1/2</td><td>Updatability<br>[Function]<br>1</td><td>1</td></tr><tr><td rowspan="2"></td><td rowspan="2">1/3</td><td>Performance<br>- 1/2</td><td>1/2</td><td>Space<br>0</td><td></td><td>0</td></tr><tr><td></td><td>1/2</td><td>Time<br>-1</td><td></td><td>-1</td></tr><tr><td></td><td>1/6</td><td>Reusability<br>1</td><td></td><td></td><td></td><td>1</td></tr></tbody></table>

On the top left first column corresponds to the main softgoal. The value in the next row of the same top left column is the total evaluation value for the selected alternative solution. The second column shows the decomposition coefficient values.

The table shows the coefficient vector <1/12, 1/12, 1/6, 1/6, 1/6, 1/6, 1/4, 1/4, 1/6> for the SIG decomposition. The summation of the multiplication of the contribution vector and coefficient vector becomes the evaluation value for the selected alternative solution.

# 5 Discussion

## 5.1 Effectiveness of argument patterns

As examples showed, the weighted SIG approach was useful to analyze the satisfying relationship between non-functional softgoals and operationalization softgoals. This showed that the effectiveness of the weight propagation method. Although the evaluation was only executed for small examples, it is clear the same results can be derived for other applications.

The conflict among different quality characteristics can be resolved by using decomposition weight list defined by decomposition link of SIGs. The mechanism is generic and widely applicable to quantitative evaluation of the validity of various architectures. The proposed approach can be applicable for evaluating not only software architectures, but also business and technology architectures [6, 7].
## 5.2 Limitation

This paper only examines the effectiveness of the proposed method for a simple example SIG diagrams. It is necessary to show the effectiveness of the method by evaluating more number of applications. This paper qualitatively examines the effectiveness of the weighted SIG approach. Quantitative evaluations of the proposed method are also necessary.

## 6 Conclusion

This paper introduced the softgoal weight for evaluating NFRs. Evaluation examples of the approach was also shown for quantitatively validating quality satisfying levels of solutions represented by operationalizing softgoals. The example evaluations showed the effectiveness of the approach.

Future work includes more experimental evaluation of the proposed approach, comparative analysis of different quantitative extensions to the NFR framework. The claim softgoals are not mentioned in this paper. It is also necessary to consider the effect of introducing weight for claim softgoals.

## Acknowledgment

This work was supported by KAKENHI (24220001).

## References

1. Chung, L., Nixson, B.A., Yu, E., and Mylopoulos, J.: Non-Functional Requirements in Software Engineering, Kluwer Academic Publishers (2000)

2. OCTAVE: Operationally Critical Threat, Asset, and Vulnerability Evaluation, Software Engineering Institute. [Online]. Available: http://www.cert.org/octave/

3. Bass, L., Clements, P., and Kazman, R., Software Architecture in Practice, 2nd ed. Reading, MA, USA: Addison-Wesley (2003)

4. Subramanian, N, and Zalewski, J.: Quantitative Assessment of Safety and Security of System Architectures for Cyberphysical Systems Using the NFR Approach, IEEE SYSTEMS JOURNAL (2014)

5. Leveson, N. : Safeware - System Safety and Computers, Addison-Wesley (1995)

6. Josely, A., et al.: TOGAF® Version 9.1 A Pocket Guide (2011)

7. Josely, A. et al.: ArchiMate®2.0, A Pocket Guide, The Open Group, Van Haren8 Publishing (2013)