Keywords

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 Sect. 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 softgoals, operationalization softgoals, and claim softgoals. First, constraints of target systems are clarified by non-functional requirements softgoals. Softgoals are, then, decomposed into sub softgoals to develop SIG. NFR softgoals are allocated to operationalization softgoals for describing target system functions.

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

For analysing functional requirements, alternative requirements are selected to satisfy non-functional softgoals. If the conflict between non-functional softgoals 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. (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.

  1. (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.

  1. (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 softgoals. The target architecture is decomposed by operationalization softgoals. The contribution relationship from operationalization softgoals to non-functional softgoals are defined. By using propagation rules, labels of softgoals are investigated to evaluate safety and security of the target architecture. However their approach did not consider quantitative relationship between values of child softgoals. And they evaluate safety and security softgoals 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. Figure 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.

Fig. 1.
figure 1

A portion of NFR framework to assure safety of elevator control

3.1 AND Decomposition Weight

If a softgoal decomposed by the AND relationship, then the AND decomposition weight label <W1,…,Wk> is appended to the parent softgoal name.

Where k is the number of sub softgoals, and Wi are defined to satisfy Σi=1,k Wi = 1.

3.2 OR Decomposition Weight

If a softgoal decomposed by the OR relationship, then the OR decomposition weight label <max(W1,…,Wk)> is appended to the parent softgoal name, where Wi 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 <W1,…,Wk> 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 Σi=1,k 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 <Q1,…,Qk> 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.

$$ {\text{P }} = \, \left( {\Sigma_{{{\text{i}} = 1,{\text{k}}}}\,{\text{Q}}_{\text{i}}^{*}{\text{R}}_{\text{i}}^{*}{\text{C}}_{\text{i}} } \right),{\text{ where }}\Sigma_{{{\text{i}} = 1,{\text{k}}}}\,{\text{Q}}_{\text{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.

Fig. 2.
figure 2

Operationalization propagation

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 <Q1,…,Qk> 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.

$$ {\text{P }} = \, \left( {\Sigma_{{{\text{i}} = 1,{\text{k}}}} {\text{Q}}_{\text{i}}^{*}{\text{R}}_{\text{i}} } \right),{\text{ where }}\Sigma_{{{\text{i}} = 1,{\text{k}}}}\,{\text{Q}}_{\text{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.

Fig. 3.
figure 3

AND decomposition propagation example

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

$$ {\text{P }} = { \hbox{max} }\left( {{\text{R}}_{ 1} , \ldots ,{\text{R}}_{\text{k}} } \right) $$

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).

Fig. 4.
figure 4

OR decomposition propagation example

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>.

Fig. 5.
figure 5

Decomposition of a main NFR with weights

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.

Fig. 6.
figure 6

Evaluation of the decision impact

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( { - 1/ 2+ \, \left( { 1/ 3 { } + { 1}/ 3 { } - 1/ 3} \right)/ 2} \right)/ 3 { } + \, \left( {\left( {0 + { 1}/ 2} \right)/ 3+ \, 0 \, + 0} \right)/ 3 { } + \, \left( { - 1} \right)/ 3\\ & = \, \left( { - 1/ 2 { } + 1/ 6} \right)/ 3 { } + { 1}/ 1 8 { } - { 1}/ 3\\ & = \, - 1/ 9 { } - 5/ 1 8 { } = \, - { 7}/ 1 8\\ \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

Figure 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.

Fig. 7.
figure 7

Evaluating the impact of solution alternatives on the integrated NFR

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

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

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

$$ 1/ 6 { } + \, \left( { - 1/ 3 { } + 1/ 3 { } + 0} \right)/ 3 { }{-} \, \left( { 1/ 2} \right)/ 3 { } + 1/ 6= { 1}/ 6 { } + 0 \, - 1/ 6 { } + 1/ 6= { 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.

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 1. Tabular evaluation of Abstract Data Type solution

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 satisfing 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.