A COMPROMISE-NEGOTIATION FRAMEWORK BASED ON GAME THEORY FOR ELIMINATING REQUIREMENTS INCONSISTENCY

Original scientific paper For any proposed software development project, it is inevitable to confront requirements changes during the software development life cycle. Uncontrolled changes may cause bad requirements specification, which even further leads to project’s failure. As a result, it is necessary to provide effective and flexible requirements change management. One of the kernel tasks of requirement change management is to eliminate requirement inconsistency caused by changes. In this paper, we consider negotiation process of the new and the old requirements specifications under Game theory. Both sides concession during the game process until the game achieves Nash equilibrium, i.e. both sides gain satisfied negotiation results. To be specific, firstly, the requirement set is represented in logical formula. Then a requirement conflict negotiation method based on mixed strategy and pure strategy Nash equilibrium is proposed separately, and a Compromise-Negotiation framework based on Game theory is presented as well. A case study will be given in the following part to verify our method’s effectiveness. Finally, it comes to a comparison and conclusion.


Introduction
For any proposed software development project, its success depends largely on the quality of the requirements specification since it is the basis for the subsequent development activities [1].Uncontrolled requirement changes may result in many serious problems during the development, especially when the software requirements specification is established [2].These changes need a more flexible and effective handling model [3].Zowghi et al. summarizes the problem of changing requirements as the belief revision [4,5] process.Alchourron, Gardenfors, Makinson et al. raise a widely used AGM framework [6], in which the new changing request always has higher belief values, that is, when there is inconsistency between the old requirement and the new request, the system always fully accepts the new request.Garcez A. S. et al. propose to use the combination of the cycle reductive inference and the inductive learning to deduce the formation of requirements specifications [7,8].In contrast, Booth proposes a non-priority belief revision method [9].Ke-Dian Mu et al. improve Booth's method by defining the specific negotiation function [10÷13], making the process of negotiation more objective.Yirui Zhang et al. propose a compromise-based negotiation framework to manage the requirements changes [14].
Game theory is a mathematical theory and method with a nature of struggle and competition which studies the phenomenon [15].Decision Theory [16] is a branch of Game theory.In this paper, we apply Game theory to the problem of changing requirements.The inconsistency caused by the changes can be regarded as the interest conflict between the requester of changing requirements and the maker of the original requirements.Both of the two sides expect that 1) their requirements set can be put into the final requirements specification, and 2) that no inconsistencies are caused by the requirement changes.Thus, Game theory is applied here to make a negotiation both satisfy the requester and the maker, and eventually managing requirement changes.
This paper presents a Compromise-Negotiation framework based on Game theory to eliminate requirements inconsistency, aiming to solve the inconsistency problem of the requirements set caused by change.Section 2 defines the logic representation of the requirements specification with a brief introduction of Game Theory.Section 3 proposes the Compromise-Negotiation based on Game Theory.Section 4 solves a software engineering case.Section 5 gives a comparison to other relative works.Section 6 would give the conclusion.

Preliminaries
In software engineering, logic-based representation is widely used due to its powerful reasoning ability [3], in which requirements are described as facts of certain schemes.Let 0 L  be the logical language consisting of atoms 0  and logical connectors { , , , }     etc., and operator├ means inference relation in the classical logic.
In this paper, we take the definition of inconsistency as follows: logically speaking, if both the fact a and its negation a  exist in the requirements set S , it is safe to say that there is inconsistency in S .Namely, a a   is an inconsistency, which we use  to represent.
Below are several crucial definitions in this paper: Definition 1.
If there is a formula set R , then the atom set ( ) G R is: , which satisfy g u  , and the If there is a formula set R , and Z is the explanation set, then the formula set that can satisfy the explanation set  value of explanation a , Z is the explanations set, and B is the atoms set.Then the operation ( ) , [ ] ( ), is a replace operation of the explanation set.
In the above expressions, g and u are both formulas, a is an explanation, and {0,1} l  .

A Compromise-Negotiation framework based on Game theory
Considering the similarity between the negotiation of requirements conflict and the Decision theory, this paper proposes a Compromise-Negotiation framework based on Game theory.Under this framework, requirements inconsistency caused by the requirement changes can be eliminated.

Requirements classification
Generally speaking, the requirements' priority is determined by their importance and urgency.For example, the most popular way is to divide according to three priorities order [17] or five priorities order [18].In addition, the priorities order is defined by the expectation, the numerical estimate of the cost and risk of the requirements description, such as the Cost value classification method [19] and the Quality function scheduling division method [20].In this paper, we adopt the three priorities order to divide requirements and the equivalence classes set.C and 2 C divided the equivalence classes set according to the priority equivalence relation R.

Formalization of Game theory
Game theory is a branch of mathematics often used by economists, to work out how events will unfold as people and organizations act in what they perceive to be their best interests [16].In the computer field, there are no common logic symbols and formulas.Therefore, we give the formal representation of the Game theory which is suitable for the requirements problem.
In the negotiation model of Game theory with two participants the participants need to use the quantitative values, namely the expectation pair, to denote the desire level of choosing one strategy.Define the formalization as follows: Definition 5.
. For an arbitrary order pair ( , ) *    , we set an expectation pair ( , ) p q for it.The rules that are used for setting the expectation pair can be described as follows: Under the equivalence class c  of T  , we set the (Symmetrically describe cj q ) Therefore, there is a mapping from the ordered pair ( , ) i j   and the expectation pair ( , ) . We have the rules that under the condition when 2 C is choosing the equivalence class c  , the profit of the equivalence class i  for the requirement customer 1 C is lower (equal or greater) than the profit of j  .(Similarly express the relationship of i  and j  ) Definition 6.The pure strategy is a form of choosing strategies for the negotiators.Under the pure strategy, the participant The mixed strategy is also a form of choosing strategies for the negotiators.In this form, the negotiators can choose the strategies according to a certain probability distribution on the basis of the known pure strategy.1 C can choose the equivalence class in S  according to the probability distribution 1 ( ,..., ) n P P on the basis of the already known pure strategy.This form could be called the mixed strategy, denoted as: ( ,..., ) In the above expressions, c is a constant, a is the explanation of all the atoms in set S and T,

The Nash equilibrium selection strategy
In the negotiation model of Game theory, there are two participants and each participant seeks its best strategy among three choices.The NE of pure strategy is a set of ordered pairs consisting of the best strategy of each participant's pure strategy and also is negotiation strategy that can make both sides achieve the best strategies.If there is an NE of the pure strategy, it could come out with the best result of the negotiation.To choose the NE, some useful definitions are as follows: Definition 8. Use Pure c N S    to denote the set of the ordered pair whose expectation pair has the highest value among the ordered pairs that come from the i  in S  and the c  in T  .This set is called the pure strategy's best strategy to Namely, And define 1 ( ) as the best strategy for S  to all the pure strategies in T  .(Similarly, define  is the dominated strategy for S  to all the pure strategies in . Thus, base on the definition we can see that: to ( , ) ( ) Define the profit of c  in 1 C as:  According to the Game Theory, the NE of the mixed strategy is a probability distribution pair.But if the strategy's NE becomes 1, it is a pure strategy, namely, the NE of the mixed strategy does not give the specific method about employing which strategy for both sides.Therefore, in this section, define the expectation sum based on the NE of the mixed strategy and the method needs to choose strategies based on the NE of the mixed strategy. Definition , define the strategy choosing method of 1 C and 2 C as: { ,..., }.
x n Then the method of choosing strategies is: In which, c is a constant, and , , , , , c i j x y n n N   .

Definition 15.
If ChoosePure ChooseMix    , we choose the ordered pairs set to form the system, otherwise we choose the ordered pairs set ChoosePure ChooseMix  .So the choose algorithm can be described as Fig. 1.In which, CA will be introduced in next section.

The compromise algorithm
The negotiation framework proposed in this paper makes both negotiators to get satisfied and reasonable outcome, in which at least one side makes concessions in the negotiation process.Thus the compromise negotiation framework eliminates the inconsistencies existing in the system.
Problem domain refers to the scope of the questions, internal relations of the problems and the logical possibility space.In this paper, the interpretations set of the system set is the problem domain set.

Definition 16.
If the system set Sys is established, its interpretations set is the problem domain set, denoted as ESys .Then set the initial value of the system set Sys as all the atoms that appear in the negotiation, the initial value of the problem domain set ESys as the interpretations set of the system set Sys .
If given the formulas set R , the relationship of interpretation   and   are: . In which, , a b is an inter pretation separately.
If given the formulas set R and the interpretations set  The whole process is composed of two phases: the matrix game and the Compromise.In the matrix game, no matter whether there is NE of the pure strategy or not, there must be NE of a mixed strategy, and the compromise algorithm is finite.So the above framework also meets the finite nature.

A software engineering case study
In this section, we apply our Compromise-Negotiation framework in an actual case.

Requirements specification of the Access Control System
Currently, most parking lots of the residential areas are installed with the Access Control System [12].The Access Control System is controlled by the computer.It is a management system that manages the passageway.
In the Access Control System of the residential area, Manages the Parking requirements has three priority requirements which are included as (1-4) in Tab.1, Manages the Fire engines requirements has three priority requirements which are included as (5-7) in Tab. 1.
To facilitate the description, we use ( ) Aut x to denote x is awarded a special license, use ( ) Ent x to denote x can enter the residential area, use ( ) Ala x to denote if x tries to enter the residential area the alarm will be triggered, use ( , ) Push x y to denote x pushes the button y, use ( ) Eme x to denote x is the emergency engine, use entr to denote the button for entering the residential area, use _ fire e to denote the fire engines.
Table 1 The requirements of manages the parking (1) The car is not allowed to enter the residential area without a specific permission.
(2) The car is allowed to enter the residential area with a specific permission.
(3) The situation when a car tries to enter the residential area without a specific permission will trigger the alarm.(4) If the alarm is triggered, the owner of the car will not be able to press the button for entering the residential area again.(5) The fire engines are regarded as emergency vehicles.(6) The emergency engine is allowed to enter the residential area without a specific permission.(7) In addition to the emergency engines, the others are not allowed to enter the residential area without a specific permission.

Logical representation of the Access Control System
Then we can get the logic-based requirements set as follows: ).

Aut fire e Ent fire e
Aut fire e Ent fire e S Aut fire e Ala fire e Ala fire e Push fire e entr .

Eme fire e
Eme fire e Ent fire e T Aut fire e Aut fire e Eme fire e Ent fire e The presentation of the logic requirements is completed.Nonetheless, we find that ( _ ) Aut fire e and ( _ ) Aut fire e  are included in the requirements set S T  at the same time.Thus we know that: S T  .Evidently, the final goal of this case is eliminating the inconsistency in the requirements set.

Apply the Compromise-Negotiation framework for eliminating inconsistency
To be simple, we use letters to replace the requirements in the requirements set.
Use a to denote the requirement C divide equivalence classes for 0 S and 0 T , and get the equivalence classes: Then we use a third-order matrix to denote the expectation pair ( , ) p q , set as Tab. 2.
Then the final requirements of the system can be described in Natural language in Tab. 3.
Table 3 The consistent system requirements (1) The car is allowed to enter the residential area with a specific permission.
(2) The situation when a car tries to enter the residential area without a specific permission will trigger the alarm.
(3) The fire engines are regarded as emergency vehicles.(4) The emergency engine is allowed to enter the residential area without a specific permission.(5) In addition to the emergency engines, the others are not allowed to enter the residential area without a specific permission.(6) If the alarm is triggered, the owner of the car will not be able to press the button for entering the residential area again.

Conclusion
In order to certify our method has much efficiency and flexibility, we designed an experiment to compare with the reference [6] and [12].1000 requirements sets were selected as input, and we used the architecture in [6] (represented by the red line), [12] (represented by the yellow line) and the one proposed in this paper (represented by the blue line) respectively to handle with the existing inconsistencies.
Experiment 1 samples the number of data to handle with and the running time of the architecture, Experiment 2 samples the number of data to handle with and the number of inconsistencies that the architecture handles with.Both of them have the sampling interval, set to 100.When the architecture runs normally, after handling with 100 data, namely a time interval, the architecture outputs the running time and the number of inconsistencies to the PC, as shown in Fig. 4. The results show that: 1) The handling time of the architecture we proposed is less than the architecture [6] and the architecture [12], which proved the architecture.
2) The architecture proposed in this paper can handle with more inconsistencies than the architecture [12] and equal to the architecture [6], which proved the flexibility of the architecture.

Conclusion and future works
The cycle Compromise-Negotiations based on the idea of Game theory proposed in this paper can handle most requirements inconsistency.We discussed the reasons that caused the requirements inconsistency.Moreover, under the guidance of the idea of the Compromise-Negotiations, we eliminated the inconsistency among the requirements successfully by transforming the Game Theory's idea to the symbols and formulas used in our framework.
Besides, designing solutions with the idea of fuzzy mathematics [21] and Combination Vote [22] will be the target of this paper in future.We will continue to propose more perfect and comprehensive frameworks to manage the changes in requirements.

1 C 1 C
can choose any equivalence class in S  , denoted as

PayoffS  of 2 C
to be equal, then we can solve the mixed strategy of 1 Figure 1 The choose algorithm

Figure 2
Figure 2 The compromise algorithm values for negotiation S S  0 Set the initial values for negotiation T T 

Figure 3
Figure 3 Comprise-Negotiation framework based on Game theory Ent fire e , c to denote the requirement ( _ ) Ala fire e , d to denote the requirement ( _ , ) Push fire e entr , and e to denote the requirement (

Figure 4
Figure 4 The data comparison in Experiment 1 and Experiment 2