International Journal of nowlege an Systems Science, 3(), -7, January-March 0 A lame-ase Approach to Generating Proposals for Hanling Inconsistency in Software Requirements eian Mu, Peking University, China Weiru Liu, Queen s University elfast, U Zhi Jin, Peking University, China ASTRACT Inconsistency has been consiere one of the main classes of efects in software requirements specification Various logic-base techniques have been propose to manage inconsistencies in requirements engineering However, ientifying an appropriate proposal for resolving inconsistencies in software requirements is still a challenging problem This paper proposes a logic-base approach to generating appropriate proposals for hanling inconsistency in software requirements Informally speaking, given an inconsistent requirements specification, the authors ientify which requirements shoul be given priority to be change for resolving the inconsistency in that specification, by balancing the blame of each requirement for the inconsistency against its value for that requirements specification The authors follow the viewpoint that minimal inconsistent subsets of a set of formulas are the purest forms of inconsistencies in that set Accoring to this viewpoint, a potential proposal for resolving inconsistencies can be escribe by a possible combination of some requirements to be change that can eliminate minimal inconsistent subsets Then a metho is propose of evaluating the egree of isputability of each requirement involve in the inconsistency in a requirements specification Finally, an algorithm is provie of generating appropriate proposals for resolving the inconsistency in a given requirements specification base on the egree of isputability of requirements eywors: Degree of Disputability, Inconsistency Hanling, Prioritize nowlege ase, Software Requirements, The lame for the Inconsistency INTRODUCTION It has been increasingly recognize that inconsistency is inevitable uring the requirements DOI: 0408/jkss0000 process (Easterbrook & Chechik, 00a; Nuseibeh et al, 00) oth general principles of managing inconsistency an special case-base approaches to hanling inconsistency have recently been consiere In particular, it has been pointe out in Gervasi an Zowghi (005) that the use of logic in managing inconsistency Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 in requirements has been foun to be effective in a number of stuies Various logic-base techniques have been propose to manage inconsistencies in requirements engineering (Hunter & Nuseibeh, 998; Gervasi & Zowghi, 005; Martinez et al, 008; Zowghi & Gervasi, 003; Mu et al, 005a, 008, 009) Most of these logic-base approaches focus on how to manage inconsistency by applying logical techniques such as paraconsistent reasoning an non-monotonic reasoning to requirements engineering For example, Hunter an Nuseibeh (998) evelope the labele quasi-classic logic to represent an reason about requirements specifications in the presence of inconsistency Gervasi an Zowghi (005) propose methos for reasoning about inconsistencies in natural language requirements by combining natural language parsing techniques an nonmonotonic reasoning Easterbrook an Chechik (00b) presente a framework terme χbel for merging inconsistent viewpoints using multivalue logics This framework was intene to highlight the source of inconsistency an to tolerate inconsistencies between viewpoints uring moel checking In contrast, there are relatively few logicbase techniques for generating appropriate proposals for inconsistency resolving actions in requirements engineering (Finkelstein et al, 994; Gabbay & Hunter, 993; Mu & Jin, 007; Mu et al, 008, 009) Previously, we have argue that the relative priority of each requirement shoul play an important role in ientifying appropriate proposals for resolving inconsistencies in requirement specifications (Mu & Jin, 007; Mu et al, 008, 009), moreover, negotiation an combinatorial vote may be consiere as two appropriate mechanisms of group ecision making for ientifying acceptable common proposals for hanling inconsistent requirements specification (Mu et al, 008, 009) However, ientifying appropriate actions for resolving inconsistency in requirements specification is still a challenging problem (Hunter & Nuseibeh, 998) Generally, the choice of inconsistency hanling actions is a rather context-sensitive issue (Finkelstein et al, 994; Gabbay & Hunter, 993) So, as pointe out in Mu et al (008), a feasible proposal for inconsistency resolving shoul focus on pointing out which requirements to be change rather than how to change these requirements Roughly speaking, all the requirements involve in inconsistencies can be consiere isputable Each of such requirements is a caniate for requirements to be change uring the process of inconsistencies resolving However, in many cases in requirements engineering, not all the requirements involve in inconsistencies nee to be change to resolve inconsistencies Intuitively, the choice of requirements to be change shoul epen on the evaluation of the blame of each requirement for inconsistencies in requirements specifications as well as the evaluation of the value of each requirement To aress this, in this paper, we present an approach to generating appropriate proposals for resolving inconsistencies in requirements specifications This approach focuses on ientifying requirements to be change to resolve inconsistencies by balancing the blame of each requirement for inconsistencies against its value to the system-to-be Informally, we formulate requirements specifications as prioritize knowlege bases in classical logic Then we aopt the approach to measuring the blame of each formula for inconsistent prioritize knowlege bases presente in Mu et al (0) to evaluate the blame of each requirement for inconsistencies in an iniviual requirements set Following this, we measure how isputable an iniviual requirement involve in inconsistency is by balancing the blame of that requirement against its priority Finally, we propose an algorithm of choosing requirements to be change base on this measurement The rest of this paper is organize as follows Section gives a brief introuction to the logical representation of requirements We propose an approach to measuring how isputable a requirement involve in inconsistency is by balancing the blame of each requirement against its priority in Section 3 Section 4 proposes an algorithm of choosing requirements to be change base on the egree of isputability Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 3 We compare our approach with relate work in Section 5 Finally, we conclue the paper in Section 6 PRELIMINARIES We use classical logic-base language to represent requirements in this paper First orer logic may be consiere as a promising tool to represent requirements, since most tools an notations for representing requirements coul be translate into formulas of first orer logic (Hunter & Nuseibeh, 998) Moreover, in a logic-base framework for representing requirements, consistency checking is always associate with certain scenarios with regar to the requirements specification (Hunter & Nuseibeh, 998), or some specific omain knowlege That is, we must a further relevant facts (eg, omain knowlege) to moel each scenario Then reasoning about requirements is always base on these certain facts It implies that checking the consistency of requirements consiers only groun formulas Furthermore, if we assume a universally quantifie formula is just an abbreviation for the conjunction of formulas that can be forme by systematically instantiating the variables of the quantifie formula with the constants in the language, then we may restrict the first orer language to the propositional case It will rener consistency checking eciable This gives some computational avantages However, restricting first orer logic to propositional logic in some way is a useful an practical way of balancing the computational avantages of propositional logic against its limite expressive power in requirements engineering as well as software engineering (Gervasi & Zowghi, 005; Jackson, 000) For these reasons, we assume a classical first orer language without function symbols an existential quantifiers This classical first orer logic is the most convenient to illustrate our approach, as will be shown in the rest of the paper Let P be a set of preicate symbols, V be a set of variable symbols, an C a set of constant symbols We call A {p(q,, q n ) p P an q,, q n V C} the set of atoms Let F be the set of classical formulas forme from a set of atoms A an logical connectives {,,, } In particular, we call p(q,, q n ) a groun atom if an only if q,, q n are all constant symbols Let A 0 be a set of groun atoms Let F 0 be the set of classical formulas forme from a set of atoms A 0 an logical connectives {,,, } Let G be the set of formulas forme from F, where if α F, an X,, X n are the free variables of α, then X,, X n α G Essentially, the set G contains only universally quantifie formulas (in which the quantifiers are outermost) an groun formulas A classical knowlege base is a finite set of formulas in F 0 is inconsistent if there is a formula α F 0 such that a an a We abbreviate a Ù a as ^ if there is no confusion Then an inconsistent knowlege base is enote by ^ Moreover, an inconsistent knowlege base is calle a minimal inconsistent set if none of its proper subset is inconsistent If ' Í an ' is a minimal inconsistent set, then we call ' a minimal inconsistent subset of Let MI( ) be the set of all the minimal inconsistent subsets of, ie, ' ' MI ( ), '' ' an, '' The minimal inconsistent subsets can be consiere as the purest form of inconsistency for conflict resolution where the syntactic representation of the information is important, since removing one formula from each minimal inconsistent subset woul be sufficient to resolve the inconsistency (Reiter, 987) In contrast, a free formula of a knowlege base is referre to as a formula of that oes not belong to any minimal inconsistent subset of In this paper, we use FREE( ) to enote the set of free formulas of We can use formulas in G to formulate requirements expresse in natural language For example, we can represent a requirement, Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
4 International Journal of nowlege an Systems Science, 3(), -7, January-March 0 if an authorize user requests to borrow a book an the book is available, then the user can borrow the book, as User ook( auth( User) requ( User, ook) avai( ook) borr( User, ook)) However, to check inconsistency of requirements collections, the universally quantifie formulas are always instantiate by the constants in certain scenarios For example, given the following facts: Alice is an authorize user, an she applies to borrow the book of software engineering; The book of software engineering is available Then we use the following groun formula as a substitute for the universally quantifie formula above: auth( Alice) requ( Alice, Soft _ eng) avai( Soft _ eng) borr( Alice, Soft _ eng) Generally, if groun formulas a, a, ¼, a n are the instantiations of the universally quantifie formula a by using ifferent facts in a scenario, then we may use a a a n as a substitute for a in the scenario Thus, we concentrate on the instantiate requirements in the rest of this paper That is, we assume that an iniviual set of requirements can be formulate by a classical knowlege base With this, we restrict the first orer logical representation of requirements to the propositional case In particular, we call a knowlege base a (partial) requirements specification if each formula of represents a requirement If there is no confusion we make no istinction between a classical knowlege base an a requirements specification in the rest of this paper On the other han, it has been increasingly recognize that the relative importance of requirements can help stakeholers to make some necessary trae-off ecisions for resolving inconsistency To aress this, we nee to attach a weight or qualitative priority level to each formula that represents an iniviual requirement For convenience an simplicity an without losing generality, we assume that the set of priorities use in this paper is ( 0, ] Let be a classical knowlege base, then a prioritization over is a function f from to (0,] such that the bigger the priority value of a formula, the more preferre is the formula y this, we can use, f to formulate prioritize requirements specification For simplicity, we call, f a prioritize knowlege base Note that this kin of prioritize knowlege base is exactly Type-I prioritize knowlege base efine in Mu et al (0) We use the following example to illustrate the formulation of requirements in the form of classical logic formulas Example Consier the following requirements for upating an existing software system A representative of the sellers of the new system, provies the following emans: (a) The system-to-be shoul be open, that is, the system-to-be coul be extene easily (b) The system-to-be shoul be secure (c) The user interface of the system-to-be shoul be fashionable A representative of the users of the existing system, provies the following emans: () The system-to-be shoul be evelope base on the techniques use in the existing system; (e) The user interface of the system-to-be shoul maintain the style of the existing system The omain expert in requirements engineering provies the following constraint, which is a consequence of (b) above: (f) To guarantee the security of the system-tobe, openness (or ease of extension) shoul not be consiere Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 5 With regar to the prioritization over these requirements, suppose that both (b) an (f) are assigne to 09 oth (a) an (c) are assigne to 06, an (e) is assigne to 04 () is assigne to 07 If we Use the preicate Open( sys) to enote that the system is open; Use the preicate Fash( int _ f ) to enote that the interface is fashionable; Use the preicate Exis( sys) to enote that the system will be evelope base on the techniques use in the existing system; Use the preicate Secu( sys) to enote that the system is secure Then we have a prioritize knowlege base, f for the requirements above, where { Open( sys), Secu( sys), Fash(int_ f ), Exis( sys), Fash(int_ f ), Secu( sys) Open( sys) }, an f : ( 0, ] such that f ( Open( sys)) 6, f ( Fash(int_ f )) 6, f ( Fash(int_ f )) 4, f ( Exis( sys)) 7, f ( Secu( sys)) f ( Secu( sys) Open ( sys)) 9 Clearly, the following inconsistencies can be ientifie from these requirements: Open( sys) Open( sys), Fash(int_ f ) Fash(int_ f ) An the set of minimal inconsistent subsets of is MI ( ) {{ Fash(int_ f ) Fash(int_ f )}, { Open( sys), Secu( sys), ecu( sys) Open( sys)}} The set of free formulas of is FREE( ) { Exis( sys)} 3 MEASURING THE DEGREE OF DISPUTAILITY Inconsistency Implies Actions is recognize as a meta-rule for inconsistency hanling (Gabbay & Hunter, 993; Hunter & Nuseibeh, 998) in many application omains However, as mentione earlier, ientifying appropriate actions for resolving inc onsistency is still a challenging issue in requirements engineering A feasible general approach to hanling inconsistencies in requirements shoul focus on ientifying some potential requirements to be change rather than ientifying potential actions for changing them That is, we nee to know which requirements are isputable an how isputable these requirements are To characterize that some formulas are more isputable than others in an inconsistent knowlege base, we efine the egree of isputability of a formula Intuitively, given an inconsistent knowlege base, each of the formulas involve in minimal inconsistent subsets of that knowlege base may be consiere isputable, since removing this formula can eliminate at least one minimal inconsistent subset This motivates us to present the following general efinition of the egree of isputability Definition (The egree of isputability) Let, f be a prioritize knowlege base A egree of isputability function for, enote, is a function from to [ 0, + ) such that (C) ( a ) If a Î FREE( ) (C) ( a ) > 0 Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
6 International Journal of nowlege an Systems Science, 3(), -7, January-March 0 If M MI( ) s t a M Note that this efinition of the egree of isputability function provies only intuitive constraints on the egree of isputability The first conition states that each free formula of a knowlege base has null egree of isputability This accors with the viewpoint that free formulas have nothing to o with inconsistencies conveye by minimal inconsistent subsets The secon conition ensures that any formula involve in minimal inconsistent subsets is isputable The simplest type of the egree of isputability function one can efine is the rastic MinInc inconsistency value efine in Hunter an onieczny (008) Definition Let, f be a prioritize knowlege base is efine as: to stratify the knowlege base in Hunter an onieczny (00) However, in many practical software projects, evelopers nee to balance the blame of each requirement for the inconsistency against its value for the system-to-be when making a necessary trae-off ecision on inconsistency resolving Then an intuitive measure for the egree of isputability of a requirement shoul take into account the relative importance of the requirement as well as the blame of the requirement for the inconsistency to be resolve To aress this, we refine the notation of the egree of isputability loosely efine by introucing the blame an the relative importance of requirements explicitly Definition 3 (The blame-base egree of isputability) Let, f be a prioritize knowlege base Let lame(, a) be the blame of a for inconsistencies in A blame-base egree of isputability for, enote, is a function from to [ 0, + ) such that a, ( a) MIV (, a) 0, a FREE,, M MI ( ) s t a M D ( ) Note that allows us just to make a istinction between free formulas an isputable formulas It cannot make a istinction between two formulas involve in minimal inconsistent subsets of a knowlege base, as shown in Hunter an onieczny (008) However, to ientify esirable proposals for inconsistency resolving actions, we nee to choose some formulas to be change from these isputable formulas in some systematic way Then it is necessary to make a istinction between these isputable formulas It is intuitive to use the blame of each formula for the inconsistency in a knowlege base to make a istinction between formulas in the knowlege base For example, Hunter et al have argue that the blame of each formula in a flat (or classical) knowlege base can be use ( a ) if a Î FREE( ) ( a ) > 0 if M MI( ) s t a M " a, b Î st f if ( α) f ( β), lame(, α) ³ lame(, β) () () (3) Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 7 then ( α) ³ ( β) α, β (4) st ( ), lame, α lame(, β) if f ( α) ³ f ( β) then ( α) ( β) Note that (C) an (C) are the two basic constraints for the egree of isputability mentione above The conition of (3C) requires that as the blame of a formula with a given priority increases, its egree of isputability cannot ecrease The last conition requires that as the priority of a formula with a given blame for inconsistency increases, its egree of isputable shoul ecrease There are a number of functions appropriate for instantiating the blame-base egree of isputability efine Now we give the following simple function as the blame-base egree of isputability Definition 4 Let, f be a prioritize knowlege base Let lame(, a) be the blame of a for inconsistencies in The function 0 is efine as follows: lame(, a) a, ( a) f ( a) 0 Note that 0 uses the ratio of the blame of a formula to the priority level of the formula to capture how isputable the formula is This ensures that 0 satisfies the last two intuitive constraints about the blame-base egree of isputability Just for the simplicity of iscussion, we can provie the following normalize version of 0 as follows Definition 5 Let, f be a prioritize knowlege base Let lame(, a) be the blame of a for inconsistencies in The function is efine as follows: a, ( a) lame(, a) lame, a f ( a) ( ) + Note that ( a) ( a) 0 0 a ( ) + an 0 ( ) a < for all a Î In essence, the egree of isputability function ( a) focuses on the ratio of the blame of a for inconsistencies in to the relative importance of a, such that the most isputable formulas provie the largest fraction of the total blame for the inconsistency but have the smallest fraction of the total importance Eviently, both 0 ( a) an ( a) satisfy the conitions (3C) an (4C) To be measures for the egree of isputability, both 0 ( a) an ( a) nee to satisfy the basic constraints (C) an (C) This also implies that the blame measure lame(, a) we use shoul satisfy lame(,a) if a Î FREE( ) lame(, a ) > 0 if M MI( ) s t a M Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
8 International Journal of nowlege an Systems Science, 3(), -7, January-March 0 However, these are exactly two of the essential properties of the measures for the blame of formulas for the inconsistency in a knowlege base (Mu et al, 0) Therefore, given a blame measure, we can get a corresponing measure for the egree of isputability In this paper, we use two particular blame measures, ie, lame an lame max, to efine the measures for the egree of isputability, respectively Previously, we have propose an approach to measuring the blame of each formula for inconsistencies in a prioritize knowlege base (Mu et al, 0) Roughly speaking, this approach to measuring the blame of each formula for inconsistency is guie by the principle of proportionality, which insists on that the more important the formulas oppose to the formula are, the more severe the eserve blame of the formula shoul be We make use of two particular measures of the blame of each formula for inconsistencies in a prioritize knowlege base presente in Mu et al (0) Informally, for a given formula a of, its blame for the inconsistency in a minimal inconsistent subset M is etermine by the set of formulas of M that woul be isengage from the inconsistency if a was remove from M We call the set of such formulas the set of oppose formulas to a wrt M, an use Opp( M, a) to enote it (Mu et al, 0), ie, ( ) Opp M, a a, if M a, M { a}, if { a} M,, a M { } Note that for a singleton set M { a }, the oppose formula to a is a, since a is a selfcontraictory formula Further, let Sig( ) be a particular measure for the relative importance of Given a minimal inconsistent subset M, let Inc( M) be the measure for the amount of inconsistency in M Then uner guiance of the principle of proportionality, the blame of a formula for the inconsistency in M, is efine as (Mu et al, 0) α, lame ( M, α) Sig( Opp( M, α)) Inc( M) Sig( Opp( M, β)) β M Moreover, the blame of a formula for the inconsistency in a knowlege base is the sum of the blame of the formula for the inconsistency in each minimal inconsistent subset of the knowlege base (Mu et al, 0), ie, a, lame (, a) M MI ( ) lame( M, a) ase on ifferent measures for the relative importance of a knowlege base an measures for the inconsistency in a minimal inconsistent subset, we can get ifferent measures for the blame of each formula for the inconsistency Previously, we have also propose a set of properties to evelop an to characterize such measures in Mu et al (0) In particular, if we use Sig ( ) f ( g) to measure the g relative importance of in Mu et al (0) Then we efine the blame of each formula for the inconsistency lame as follows: Definition 6 (The lame of each formula for the Inconsistency lame ) (Mu et al, 0) Let, f be a prioritize knowlege base The blame of each formula belonging to for the inconsistency of, enote lame, is a function such that a, lame (, a) M MI ( ) where lame (, a), Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 9 lame Sig β M ( M, α) Sig Sigm ean( M ) M ( Opp( M, α)) ( Opp( M, β)) for each minimal inconsistent subset M of Roughly speaking, the blame of a for the inconsistency of is the accumulation of the blames of a for the inconsistency of each minimal inconsistent subset of Within a minimal inconsistent subset M, the amount of inconsistency in M is capture by Sig ( M), moreover, the blame of a for the inconsistency of M M is proportionate to Sig ( Opp ( M, a )) We have shown in Mu et al (0) that lame satisfies the set of intuitive properties an intuitive measure for the blame shoul have In particular, lame satisfies the properties of Innocence an Necessity, ie, () Innocence: M MI( ), a M, lame ( M, a ) () Necessity: M MI( ), a M, ( ) > 0 lame M,a We use the following example to illustrate this measure for the blame of each formula for inconsistency Example Consier,, f where { a, a, a c, b, c, } an f a 0 6, f ( a) 4, f ( a c) 8, f f f ( ) ( ) b 0 5, ( c), ( ) 9 T h e n MI( ) { M, M}, w h e r e M { a, a}, M { a c, a, c} So, the blame of each formula for inconsistency in M is given as follows: lame ( M, a ), lame ( M, a ), 5 lame ( M, c ), lame ( M, a c ), lame ( M, b ), lame ( M, ) The blame of each formula for inconsistency in M is given as follows: lame ( M, a ), 05 lame ( M, a ), lame ( M, c ), 08 lame ( M, a c ), 04 lame ( M, b ), lame ( M, ) The blame of each formula for inconsistency in is given as lame (, a ), 5 Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
0 International Journal of nowlege an Systems Science, 3(), -7, January-March 0 lame (, a ), 5 lame (, c ), 08 lame (, a c ), 04 lame (, b ), lame (, ) This example also shows that the blame of a formula for inconsistency is insufficient for characterizing how isputable a formula is To illustrate this, consier the example above, lame (, a) lame(, a) 5, but it is intuitive to consier that a is more isputable in this case since f ( a) < f ( a) It also implies that the egree of isputability of a formula shoul be etermine by the blame of that formula together with the priority of that formula y using the blame measure lame, we efine the egree of isputability function as follows Definition 7 Let, f be a prioritize knowlege base The function is efine as follows: a, ( a) lame (, a) lame, a f ( a) ( ) + Note that the properties of Innocence an Necessity of lame ensure that satisfies (C) an (C), ie, is a egree of isputability function The following proposition shows that is an anticipate measure for the egree of isputability of each formula for a prioritize knowlege base Proposition is a blame-base egree of isputability function, ie, satisfies (C)-(4C) Example 3 Consier, again Then f ( a), 5 3 ( a), 7 ( c), 6 7 ( a c), 5 ( b), ( ) esies the blame measure lame, we may also use the other blame measures to efine the blame-base egree of isputability function Note that Sig consiers the sum of the priority values of all the formulas in a knowlege base as the relative importance or the priority of the whole knowlege base It essentially uses the average of the priority levels of all the formulas to evaluate the relative importance of the whole knowlege base However, in some cases, the highest priority level of the formulas involve in inconsistency plays a ominant role in evaluating the relative importance of inconsistency To aress this, we may use the high- Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 est priority level of formulas in a knowlege base to evaluate the relative importance of the knowlege base If we use Sig ( ) max max{ f ( a) a } to measure the relative importance of, then the inconsistency in a minimal inconsistent s u b s e t M c a n b e c a p t u r e b y Inc M Sig M max( ) max( ) in Mu et al (0) M We can efine another blame measure along this line Definition 8 (The lame of each formula for the Inconsistency lame max (Mu et al, 0)) Let, f be a prioritize knowlege base The blame of each formula belonging to for the inconsistency of, enote lame max, is a function such that a, lame (, a) M MI ( ) where lame max Sig β M lame max ( M, α) max Sig Sigmax( M) M max (, a), ( Opp( M, α)) max ( Opp( M, β)) for each minimal inconsistent subset M of Note that the measure lame max also accors with the principle of proportionality That is, within a minimal inconsistent subset M, the blame of a formula for the inconsistency in M is proportionate to the relative importance of the oppose formulas to that formula Moreover, the blame of a formula for the inconsistencies in a knowlege base is the sum of the blame of the formula for the inconsistency in each minimal inconsistent subset of the knowlege base We use the following example to illustrate the measure lame max Example 4 Consier,, f where { a, a, a c, b, c, } an f a 0 6, f ( a) 4, f ( a c) 9, ( ) f b 0 7, f ( c) 3, f ( ) 7 ( ) T h e n MI( ) { M, M}, w h e r e M { a, a}, M { a c, a, c} So, the blame of each formula for inconsistency in M is given as follows: lame ( max M, a ), lame ( max M, a ), 8 lame ( max M, c ), lame ( M, max a c ), lame ( max M, b ), lame ( max M, ) The blame of each formula for inconsistency in M is given as follows: lame ( max M, a ), lame ( max M, a ), Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 lame ( max M, c ), lame ( M, max a c ), 075 lame ( max M, b ), lame ( max M, ) The blame of each formula for inconsistency in is given as lame ( max, a ), 3 lame ( max, a ), 8 lame ( max, c ), lame (, max a c ), 075 lame ( max, b ), lame ( max, ) Eviently, the measure lame max also satisfies the properties of Innocence an Necessity y using the blame measure lame max, we efine the egree of isputability function max as follows: Definition 9 Let, f be a prioritize knowlege base The function max is efine as follows: max a, ( a) lamemax(, a) lame, a f ( a) ( ) + max Eviently, max is also an anticipate measure for the egree of isputability of each formula for a prioritize knowlege base Proposition We use the following example to illustrate the egree of isputability function max Example 5 Consier, again Then f max 3 ( a), 83 9 max ( a), 9 max ( c), 4 max ( a c), 3 max ( b), max ( ) To compare the formulas of a given prioritize knowlege base in terms of their egrees of isputability, we efine a total orering relation over the prioritize knowlege base terme as more isputable than as follows Definition 0 (The relation of more isputable than, ³ ) Let, f be a prioritize knowlege base an the blame-base egree of isputability for A binary relation on, enote ³, is efine as follows: α ³ βi f an only if ( α) ³ ( β) Further, α > β if α ³ β an β α α β if α ³ β an β ³ α We say that a is strictly more isputable than b if α > β max is a blame-base egree of isputability function, ie, max satisfies (C)-(C4) Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 3 Example 6 Consier, again Suppose that we use f to measure the egree of isputability Then c> a> a> a c> b Accoring to this orering relation, a is more isputable than Øa, although they have the same blame for inconsistencies in This comparison is intuitive, since the priority of a is higher than that of a 4 GENERATING APPROPRIATE PROPOSALS FOR HANDLING INCONSISTENCY As mentione above, a useful general approach to generating proposals for hanling inconsistency shoul focus on pointing out which requirements to be change rather than how to change these requirements In this sense, generating proposals for hanling inconsistency is a process of ientifying potential requirements to be change Without loss of generality, we use as the egree of isputability function in the following examples if there is no confusion Definition Let, f be an inconsistent prioritize knowlege base A proposal for hanling the inconsistency in, enote p( ), is a subset of such that MI ( p ( )) Note that p( ) is a subset of such that all the minimal inconsistent subsets of woul be eliminate if formulas of p( ) were remove from For example, both { a} an { Øa, Øc} are proposals for hanling inconsistency in How to evaluate the appropriateness of a proposal is also a ifficult issue in requirements engineering Intuitively, the more isputable requirements shoul be given a priority to be inclue in a proposal We present an algorithm for generating proposals which provies support for this intuition Definition Let, f be an inconsistent prioritize knowlege base p, p Π, p is more appropriate than p for hanling inconsistency in if M MI( ), α M π such that α ³ β for all β M π For example, for,, the proposal f { Øa, Øc} is more appropriate than { a, a c } Let MAX( ) be the set of formulas of with the highest egree of isputability, ie, ( ) MAX { α α, an β, ( β) ( α )} For example, MAX { a} an MAX({ b, }) { b, } Let Q be a set of subsets of, then we abbreviate ' Q ' as Q Then an algorithm for generating proposals for hanling inconsistency base on the egree of isputability is given as shown in ox Note that conition Q ensures that each proposal p generate by the algorithm satisfies MI ( p ( )) In contrast, the part from Line 6 to Line 0 of the algorithm ensures that p is one of the most appropriate proposals for hanling inconsistency in Example 7 ( ) Consier, f again Eviently, Π {{ c }}, Π {{ c, a }} Then the proposal for inconsistency hanling generate is p( ) { a, c} We use the following example to illustrate the algorithm Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
4 International Journal of nowlege an Systems Science, 3(), -7, January-March 0 ox Example 8 (Example Continue) Then 3 ( Fash(int_ f )) > ( Fash ( int_ f )) ( Open( sys) ) > ( Secu( sys) ) Secu( sys) Open( sys) Exis( sys) ( ) ( ) So, base on the algorithm, Π { ( )} { Fash int_ f }, 7 Π { ( ) } Then { Fash int_ f, Open( sys ) } { ( ) } p( ) Fash int_ f, Open( sys) is the generate proposal, ie, the requirements (a) an (e) are recommene to be change for resolving inconsistency This proposal is intuitive 5 RELATED WOR Hanling inconsistent requirements is a pervasive issue in requirements engineering Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 5 Most of logic-base techniques for managing inconsistent requirements are concerne with reasoning about requirements in the presence of inconsistency There are relatively few logicbase approaches to ientifying appropriate proposals for hanling inconsistency actions In this paper we propose an approach to ientifying requirements to be change from the set of requirements involve in inconsistencies by using the measure of the egree of isputability for requirements In the following, we compare our approach with some of closely relate proposals Our previous paper (Mu et al, 008, 009; Mu & Jin, 007) presente two approaches to ientifying acceptable common proposals for hanling inconsistency in istribute requirements However, this paper focuses on generating proposals for hanling inconsistent requirements with weighte or numerical priorities within one perspective The blame-base egree of isputability plays an important role in ientifying potential requirements to be change In contrast, our previous papers (Mu et al, 008 009; Mu & Jin, 007) are concentrate on multi-perspective requirements with qualitative priority levels (such as High an Low) These approaches emphasize the importance of group ecision making mechanisms such as negotiation among multiple perspectives (Mu et al, 008, 009) an combinatorial vote (Mu & Jin, 007) in ientifying requirements to be change Note that the blames of formulas for inconsistency are crucial for measuring how a formula isputable is We make use of a particular measure for the blames of formulas for inconsistency efine in Mu et al (0) in characterizing the egree of isputability of formulas involve in inconsistency Rough speaking, the blame of a formula measures how ba that formula is, in contrast, the priority of a formula states escribes how goo that formula is In this sense, the blame-base egree of isputability of a formula balances the avantages of remaining that formula against the isavantages Note that we translate a set of requirements with priority levels into a prioritize knowlege base in this paper It is natural to translate requirements into a classical knowlege base when there is no prioritization over requirements However, a classical knowlege base may be consiere as a special kin of prioritize knowlege base if we consier each formula in the knowlege base has the highest priority value Then the approach presente in this paper can also be applie to classical knowlege bases ut in such cases, f ( a) for all a Î, an then ( a) lame(, a) lame(, a) 0 an ( a) lame(, a) lame, a ( ) + This s such isputability functions are etermine by only the blame of a for the inconsistency in That is, within the context of classical knowlege bases, the egree of isputability essentially accors with the iea of stratifying knowlege bases by the blame of formulas presente in Hunter an onieczny (00) 6 CONCLUSION We have presente an approach to generating proposals for hanling inconsistent requirements specification This paper presente the following contributions to managing inconsistency in requirements engineering: (a) We argue that how isputable a requirement is epens on the blame of that requirement for inconsistency as well as the priority of that requirement (b) We efine two blame-base egree of isputability functions for formulas of a Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
6 International Journal of nowlege an Systems Science, 3(), -7, January-March 0 prioritize knowlege base by balancing the blames of formulas for inconsistency against the relative priorities of formulas Also, we efine a total orering relation terme more isputable than over a prioritize knowlege base (c) We presente an algorithm for generating appropriate proposals for hanling inconsistent requirements by using the relation of more isputable than over inconsistent requirements specification Note that we assume that the priority level of each requirement is a real number in (0,] However, in many software projects, the priority level of requirements is a qualitative value such as High or Low How to hanle inconsistency in such prioritize requirements will be the main irection for our future work ACNOWLEDGMENTS This work was partly supporte by the National Natural Science Founation of China uner Grant No 670300, the National asic Research 973 program of China uner Grant No 009C3070, the ey Project of National Natural Science Founation of China uner Grant No 908806, an the NSFC an the ritish Royal Society China-U Joint Project This paper is a revise an extene version of the paper An Approach to Generating Proposals for Hanling Inconsistent Software Requirements presente at SEM0 REFERENCES Easterbrook, S, & Chechik, M (00a) n international workshop on living with inconsistency Software Engineering Notes, 6(6), 76 78 oi:045/5055350555 Easterbrook, S, & Chechik, M (00b) A framework for multi-value reasoning over inconsistent viewpoints In Proceeings of the International Conference on Software Engineering, Toronto, ON, Canaa (pp 4-40) Washington, DC: IEEE Computer Society Finkelstein, A, Gabbay, D, Hunter, A, ramer, J, & Nuseibeh, (994) Inconsistency hanling in multiperspective specifications IEEE Transactions on Software Engineering, 0(8), 569 578 oi:009/330667 Gabbay, D, & Hunter, A (993) Making inconsistency respectable : Meta-level hanling of inconsistent ata In M Clarke, R ruse, & S Moral (Es), Proceeings of the European Conference on Symbolic an Quantitative Approaches to Reasoning with Uncertainty, Granaa, Spain (LNCS 474, pp 9-36) Gervasi, V, & Zowghi, D (005) Reasoning about inconsistencies in natural language requirements ACM Transactions on Software Engineering an Methoology, 4(3), 77 330 oi:045/0799707999 Hunter, A, & onieczny, S (008) Measuring inconsistency through minimal inconsistent sets In Proceeings of the Eleventh International Conference on Principles of nowlege Representation an Reasoning, Syney, Australia (pp 358-366) Palo Alto, CA: AAAI Press Hunter, A, & onieczny, S (00) On the measure of conflicts: Shapley inconsistency values Artificial Intelligence, 74(4), 007 06 oi:006/j artint000600 Hunter, A, & Nuseibeh, (998) Managing inconsistent specification ACM Transactions on Software Engineering an Methoology, 7(4), 335 367 oi:045/98987 Jackson, D (000) Automating first-orer relational logic ACM SIGSOFT Software Engineering Notes, 5(6), 30 39 oi:045/357474355063 Martinez, A, Arias, J P, Vilas, A F, Duque, J G, Norse, M L, Reono, R P, & Fernanez, Y (008) On the interplay between inconsistency an incompleteness in multi-perspective requirements specifications Information an Software Technology, 50(4), 96 3 oi:006/jinfsof007000 Mu,, & Jin, Z (007) Ientifying acceptable common proposals for hanling inconsistent software requirements In J Derrick & J Vain (Es), Proceeings of the 7 th IFIP WG 6 International Conference on Formal Techniques for Networke an Distribute Systems, Tallinn, Estonia (LNCS 4574, pp 96-308) Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite
International Journal of nowlege an Systems Science, 3(), -7, January-March 0 7 Mu,, Jin, Z, Lu, R, & Liu, W (005) Measuring inconsistency in requirements specifications In L Goo (E), Proceeings of the 8 th European Conference on Symbolic an Quantitative Approaches to Reasoning with Uncertainty, arcelona, Spain (LNCS 357, pp 440-45) Mu,, Jin, Z, & Zowghi, D (008) A priority-base negotiations approach for hanling inconsistency in multi-perspective software requirements Journal of Systems Science an Complexity, (4), 574 596 oi:0007/s44-008-936-4 Mu,, Liu, W, & Jin, Z (0) Measuring the blame of each formula for inconsistent prioritize knowlege bases Journal of Logic an Computation Mu,, Liu, W, Jin, Z, Yue, A, Lu, R, & ell, D (009) Hanling inconsistency in istribute software requirements specifications base on prioritize merging Funamenta Informaticae, 9(3-4), 63 670 Nuseibeh,, Easterbrook, S, & Russo, A (00) Making inconsistency respectable in software evelopment Journal of Systems an Software, 58(), 7 80 oi:006/s064-(0)00036-x Reiter, R (987) A theory of iagnosis from first principles Artificial Intelligence, 3(), 57 95 oi:006/0004-370(87)9006- Zowghi, D, & Gervasi, V (003) On the interplay between consistency, completeness, an correctness in requirements evolution Information an Software Technology, 45(4), 993 009 oi:006/s0950-5849(03)0000-9 Copyright 0, IGI Global Copying or istributing in print or electronic forms without written permission of IGI Global is prohibite