viewpoints merging via incrementally elicited ranked structures

10
University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2006 Viewpoints merging via incrementally elicited ranked structures Aditya K . Ghose University of Wollongong, [email protected] Q. Lin University of Wollongong, [email protected] Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library: [email protected] Publication Details is article was originally published as: Ghose, A & Lin, Q, Viewpoints merging via incrementally elicited ranked structures, Sixth International Conference on Quality Soſtware (QSIC 2006), Beijing, China, October 2006, 141-150. Copyright IEEE 2006.

Upload: independent

Post on 21-Jan-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

University of WollongongResearch Online

Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences

2006

Viewpoints merging via incrementally elicitedranked structuresAditya K. GhoseUniversity of Wollongong, [email protected]

Q. LinUniversity of Wollongong, [email protected]

Research Online is the open access institutional repository for the University of Wollongong. For further information contact the UOW Library:[email protected]

Publication DetailsThis article was originally published as: Ghose, A & Lin, Q, Viewpoints merging via incrementally elicited ranked structures, SixthInternational Conference on Quality Software (QSIC 2006), Beijing, China, October 2006, 141-150. Copyright IEEE 2006.

Viewpoints merging via incrementally elicited ranked structures

AbstractHandling inconsistent requirements specifications remains a difficult challenge for the requirementsengineering community. This paper seeks to apply techniques developed in the belief merging literaturewithin AI to this problem. The application is non-trivial, since many belief merging operations cannot bedirectly applied, but must be modified to make them usable in practical settings. We address the problem ofmerging state model viewpoints, and improve on previous work by Chechik and Easterbrook. We develop avariant of the belief merging framework developed by Meyer et al, which we refer to as the framework ofincrementally elicited ranked structures. We show that viewpoint merging within this framework is relativelyeasy and provides meaningful results.

DisciplinesPhysical Sciences and Mathematics

Publication DetailsThis article was originally published as: Ghose, A & Lin, Q, Viewpoints merging via incrementally elicitedranked structures, Sixth International Conference on Quality Software (QSIC 2006), Beijing, China, October2006, 141-150. Copyright IEEE 2006.

This conference paper is available at Research Online: http://ro.uow.edu.au/infopapers/490

iewpoints Merging via Incrementally Elicited Ranked Structures

Aditya Ghose and Qiuming LinDecision Systems Lab

School of IT and Computer ScienceUniversity of ollongong

NS 2452Australia

[email protected]

Abstract

Handling inconsistent requirements specifications re-mains a difficult challenge for the requirements engineer-ing community. This paper seeks to apply techniques de-veloped in the belief merging literature within AI to thisproblem. The application is non-trivial, since many beliefmerging operations cannot be directly applied, but must bemodified to make them usable in practical settings. We ad-dress the problem of merging state model viewpoints, andimprove on previous work by Chechik and Easterbrook. Wedevelop a variant of the belief merging framework devel-oped by Meyer et al, which we refer to as the frameworkof incrementally elicited ranked structures. We show thatviewpoint merging within this framework is relatively easyand provides meaningful results.

1. Introduction

The problem of multi-perspective specifications anddealing with potentially inconsistent viewpoints has poseda major challenge to the requirements engineering commu-nity. Approaches to dealing with inconsistency in require-ments have a relatively long history. Balzer [1] introducedthe notion of pollution markers as an approach to toler-ating and managing inconsistency in specifications. Tsaiproposed the use of non-monotonic logics in resolving in-consistencies in specifications [13] while similar ideas werealso explored by Ryan [12]. The Viewpoints framework [5][10] [4] [3] supports multi-perspective development (withmultiple sets of stakeholders) by allowing explicit “view-points” which hold partial specifications, described and de-veloped using different representation schemes and devel-opment strategies. Individual viewpoints are required to beinternally consistent while inconsistencies arising between

pairs of distinct viewpoints (the authors suggest transla-tion into a uniform logical language for detecting incon-sistencies) are removed by invoking meta-level inconsis-tency handling rules. Lamsweerde et al [14] have exploreda wide range of categories of inconsistency in the contextof the KAOS framework. Wiels and Easterbrook [15] havedefined evolution and inconsistency handling techniquesbased on category theory, while Nuseibeh and Russo [11]have used abductive logic programming. Heitmeyer et al[6] have defined inconsistency handling techniques in thecontext of tabular notations. Hunter and Nuseibeh [7] havedefined a framework for representing specifications using alogic with a paraconsistent flavour.

Research on belief merging within Artificial Intelligencehas addressed the problem of merging the (potentially in-consistent) beliefs of a society of agents, who might needto arrive at an agreement in order to cooperate to achievetheir goals, or to support social choice processes (such aselections, committee decisions etc.). A substantial body ofliterature exists in the area, drawing on diverse disciplinessuch as social choice theory in economics. We do not surveythis literature here due to space constraints. The objectiveof this research is to explore ways in which results from thebelief merging area might be deployed to address the view-points merging problem. Our results suggest that the con-nections are very rich and that novel viewpoints mergingapproaches can be developed by drawing on belief merg-ing techniques. However, the application of belief merg-ing techniques is non-trivial, and substantial changes mustbe made to make them viable for application in viewpointmerging problems.

This paper addresses the problem of merging state modelviewpoints. We take as our starting point the work of East-erbrook and Chechik (a large number of publications ontheir framework exist, but [2] is a representative example).They use an underlying multi-valued logic and multi-valuedmodel checker to determine sources of inconsistency in dis-

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

tinct viewpoints. For instance, in a setting with two stake-holders and a 4-valued logic consisting of the truth valuesTT, TF, FT and FF, elements of a model that evaluate toTT or FF suggest agreement amongst the stakeholders (thatthe corresponding elements are true or false, respectively)while those that evaluate to TF or FT indicate sources ofdisagreement. Their framework is largely useful in high-lighting sources of disagreement or inconsistency, but pro-vide no guidance on how these might be resolved.

In this paper, we modify Meyer’s work on belief merg-ing [9] to obtain a framework for viewpoints merging withincrementally elicited ranked structures. We have imple-mented a tool to support the process, and present a simplecase study in which this tool is applied. The tool incor-porates support for model checking on alternative mergedviewpoints to ensure that only models which satisfy the rel-evant properties are adopted as outcomes of the process.Unlike Easterbrook and Chechik, our approach suggests ac-tual merged outcomes. An added benefit is the ability toformally establish correctness of the merging process viareference to a set of commonly agreed upon rationality pos-tulates for merging [9]. We do not describe this aspect ofour work any further due to space constraints.

2. Background Belief Merging

We base our work on Meyer’s approach to belief merg-ing [9], where each agent’s belief state is represented by apreference ordering on models (or valuations, i.e., a map-ping of each propositional letter to a boolean truth value).Meyer’s uses a specific instance of these orderings, witheach model/valuation being mapped to a natural number.We shall assume a propositional language L, U is the set ofinterpretations of L and M(α) is the set of models of α ∈ L.We shall use Φ to denote an epistemic state and φ to denotethe knowledge base associated with Φ. We let xn denotethe list containing n version of x. The length of a list l isdenoted by | l |.

An epistemic state Φ is a function from U to the set ofnatural numbers. Given an epistemic state Φ, the knowledgebase associated with Φ, denoted by φΦ, is some φ ∈ L suchthat M(φ) = {u | Φ(u) = 0}.

Epistemic states allow us to represent preference order-ings on valuation (or models). Valuations which receive arank of 0 are the most preferred, while those that get a rankof 1 are the next most preferred, and so on. Some numbersmay have no valuations assigned to them (i.e. there may beempty ranks) suggesting that the relative distance betweenranks can play a role in the specification of preference.

An epistemic list E = [ΦE1 , . . . ,ΦE

|E|] is a non-empty fi-nite list of epistemic states. Each element of an epistemiclist is an epistemic state representing the beliefs of an agentin the collection of agents whose beliefs must be merged.

For any epistemic state Φ, let

min(Φ) = min{Φ(u) | u ∈ U},

let

max(Φ) = max{Φ(u) | u ∈ U},and for an epistemic list E, let

max(E) = max{max(ΦEi ) | l ≤ i ≤ |E|}.

For an epistemic list E and u ∈ U , let minE(u) =min{ΦE

i (u) | 1 ≤ i ≤ |E|} and let maxE(u) =max{ΦE

i (u) | 1 ≤ i ≤ |E|}. seq(E) denotes the setof all sequences of length |E| of natural numbers, rang-ing from 0 to max(E). We denote by seq ≤ (E) the sub-set of seq(E) of all sequences that are in non-decreasingorder, and seq ≥ (E) the subset of seq(E) of all se-quences that are in non-increasing order. For u ∈ U , welet sE(u) be the sequences containing the natural numbersΦE

1 (u), . . . ,ΦE|E|(u) in that order, we let sE

≤(u) be the se-

quence sE(u) in non-decreasing order, and we let sE≥(u)

be the sequence sE(u) in non-increasing order. ObviouslysE(u) ∈ seq(E), sE

≤(u) ∈ seq≤(E) and sE≥(u) ∈ seq≥(E).

sEi (u), s(E,≤)

i and s(E,≥) denote the i-th digit in sE(u),sE≤(u) and sE

≥(u) respectively. Given any set seq of finitesequences of natural numbers and a total preorder� on seq,we define the function Ωseq

� : seq → {0, . . . , |seq| − 1} byassigning consecutive natural numbers to the elements ofseq in the order imposed by �, starting by assigning 0 tothe elements lowest down in �.

In the following, we will review some of Meyer’s merg-ing operators. In particular, we will review three specificoperators: Δmin, Δmax and ΔΣ. Meyer defines severalothers, but these three form a representative subset. Δmin

and Δmax are examples of arbitration operators while ΔΣ

is an example of a majority operator.There are two steps in the construction of each merging

operation. The first step is to assign the rank (natural num-ber) to each model (or valuation). After completing thisstep, if none of the models have been assigned a value 0,then the second step is to perform an appropriate uniformsubstraction of values, which is referred to as normaliza-tion. In cases where there are no models of rank 0 (suggest-ing that the agent’t beliefs are inconsistent) we normalize byshifting all of the ranks down, while maintaining their rela-tive order and distance, but ensuring that the set of modelsat rank 0 are non-empty.

We consider the idea of an arbitration operation in whichwe take as many different viewpoints as possible from allthe stakeholders into account. We will discuss two arbi-tration operators, the first of which is the Δmin mergingoperator.

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

Definition 2.0.1. If E contains a single epistemic state Φ,let ΦE

min = Φ. If not, let ΦEmin(u) = 2minE(u) if ΦE

i (u) =ΦE

j (u) ∀i, j ∈ {1, . . . , |E|} and ΦEmin(u) = 2minE(u) + 1

otherwise. Then Δmin(E)(u) = ΦEmin(u) - min(ΦE

min).

The Δmin operator involves the following steps. Iden-tify the models which are agreed to by all epistemic states asbeing the most preferred, and take them to be the most pre-ferred model in the resulting epistemic state from the merg-ing operation (assigning them the rank of 0). The modelson the next level of preference are those deemed to be themost preferred by at least one epistemic state. The modelson the next level of preference are considered to be the onesthat are deemed to be the second most preferred by all theepistemic states and the models regarded as the second mostpreferred by at least one epistemic state are on the follow-ing level of preference. The above process is repeated untilall levels of preference for all the epistemic states have beentreated. The idea of Δmin is to find the minimum preferredrank given to a model by any of the epistemic states and thento normalize the rank. The normalized rank is assigned asthe new preference rank to the model.

Definition 2.0.2. Let ΦEmax(u) = maxE(u). Then

Δmax(E)(u) = ΦEmax(u) - min(ΦE

max).

The maximum preference rank assigned to a model byany of the epistemic states is taken as the preference rank tothat model.

Majority operators take the viewpoints of the majoritystakeholders into account, i.e. it tries to minimize globaldissatisfaction. The ΔΣ merging operation is an exampleof a majority operation. For s ∈ seq(E), let

sumE(s) =|E|∑

i=1

si

where si is the ith element of s.

Definition 2.0.3. Let ΦEΣ(u) = sumE(sE(u)). Then

ΔΣ(E)(u) = ΦEΣ(u) − min(ΦE

Σ).

As before, the final sentence in the definition representsthe normalization step. The idea of this operation is toobtain the new preference rank of the model by summingthe preference ranks given by the different epistemic states(representing viewpoints of stakeholders) and then to nor-malize the ranks.

3. Merging via Incrementally Elicited RankedStructures

3.1 Ranked tructures

We introduce the idea of a ranked structure - a notion re-lated to, but distinct from the notion of epistemic state usedin Meyer’s framework for belief merging. An epistemicstate is intended to be a complete specification of an agent’sepistemic state. Thus, it requires us to assign a rank to everypossible state of affairs. In most non-trivial domains, thenumber of possible states of affairs is typically very large,and many of them, particularly at higher ranks (i.e. thosethat are less preferred), are often irrelevant to the discourse.In a realistic application domain, such as ours, we cannotconceivably have access to such a mapping. At best, wemay ask agents (stakeholders) to rank the models elicitedthus far. A ranked structure can thus be loosely viewedas being analogous to a partially specified epistemic state.There is another critical difference. In Meyer’s approach tobelief merging, we assume a commonly agreed upon lan-guage, relative to which models (or states of affairs) areconceived. In our context, each viewpoint comes with itsown local vocabulary, relative to which a stakeholder spec-ifies models. A global (common) vocabulary is eventuallyconstructed via signature maps (described below), but thisresults in individual stakeholder models becoming incom-plete (in general) relative to this global vocabulary. Thisrepresents another point of departure from the notion of anepistemic state. Meyer, Ghose and Chopra [8] have defineda syntactic approach to merging using ranked knowledgebases, but these are expressively equivalent to epistemicstates, and hence inapplicable in our context for preciselythe same reasons as those listed above.

Since viewpoints might be expressed in distinct vocab-ularies, we require signature maps to reconcile these, andassume that this is done by an analyst prior to the mergingprocess. As in [2], we require that the mappings preservetype information, that every state and variable in the sourcemodels must map to a state and a variable in the mergedmodel and that distinct names from the same source modelare not mapped to the same name in the merged model.

3.2. Merging Algorithms

In this section, we present an algorithm for constructingour framework. It is a lazy evaluation approach, in that weare not obliged to a obtain complete epistemic states a pri-ori. The stakeholders start by giving their most preferredmodels, i.e models of preference rank 0. If the models pre-sented by all the stakeholders are consistent, then we shouldretain all of these models and combine them into a singlemodel. Otherwise, the stakeholders are required to supplytheir next most preferred models and the models are addedto the ranked structure. They keep providing additionalmodels until they reach an agreement, i.e. their models are

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

identical or consistent. Once an agreement is reached, setsof consistent models are combined into single models usingthe selected merging operator to determine the new prefer-ence ranks for them, and a new and merged ranked structureis thus formed.

The merged ranked structure is comprised of only com-bined models and the preference ranks assigned to them.The most preferred models of the merged ranked structureis first taken to check against the system properties set bythe stakeholders using SMV model checker. If SMV returnsa true value, this model will be the result model. If SMVreturns a false value, then models of the next preferencelevel of the merged ranked structure are model checked un-til a model is found to satisfy the properties and such modelis the final outcome model. If no such model is found inthe merged ranked structure, then we have to keep askingthe stakeholders to give their models of the next preferencelevel from where they previously reached an agreement, andrepeat the above process to find a successful outcomes. Thefollowing algorithm of procedure IncrementalMerge() re-flects this process.

Not all operators in Meyer’s repertoire of merging opera-tors lend themselves to an incremental elicitation approachto merging. We define below the incrementality propertyto circumscribe the set of merging operators that do lendthemselves to incremental elicitation.

Definition 3.2.1. A merging operator is said to satisfy theincrementality property iff it is able to generate a com-plete merged epistemic state, up to rank(r-1) if all epistemicstates in input epistemic list are completely determined upto rank r, for r ≥ 1.

It is easy to see that amongst Meyer’s operators, onlyΔmin, Δmax, ΔΣ and ΔRΣ satisfy this property. In therest of our discussion, we will only be interested in mergingoperators which satisfy the incrementality property. r rep-resents the rank of the ranked structure and i represents tothe number of stakeholders in all the algorithms describedbelow.

procedure IncrementalMerge

inputs:1. A set of partial ranked structures, {RSi | i ∈ STAKE-

HOLDERS}2. A merging operator OP and an associated function

artialMergeOP

3. A set of CTL properties PROPoutputs:

1. A single partial ranked structure PM, represented as asequence of sets

〈 S0, S1, . . . , Sr 〉, organized in ascending order of rank,where each

set Si contain models at rank i.2. A model m

done := falser := 0repeat

for each stakeholder i ∈ STAKEHOLDERSelicit all models at rank r and place them in the set SM i

r

PM := artialMergeOP ({SM jk | j ∈ STAKEHOLDER, k

∈ {0, . . ., r}})if the (r − 1)th element of PM exists and is non-empty

if there is a model m in PMr−1 that satisfies all proper-ties in PROP

done := truereturn m, PM

elseif there exists a model m

′ ∈ PMr that satisfies allproperties in PROP

done := truereturn m

′, PM

elser := r+1

elser := r+1

until done

We define PartialMergeOP () for instances wherethe merging operations under consideration are Δmin,Δmax and ΔΣ in the following discussion. ThusPartialMergeΔmin (x)def

= PartialMerge(x, min),PartialMergeΔmax (x)def

= PartialMerge(x, max) andPartialMergeΔΣ (x)def

= PartialMerge(x, Σ) for all x.Other merging operations from [9] could also be supportedby other instances of PartialMergeOP (), but we do notelaborate them here, in the interests of brevity.

procedure PartialMerge()

inputs:1. A set of partial ranked structures, one for each stake-

holder. For astakeholder i, a partial ranked structure is represented as

sequence of sets〈 SM i

0, SM i1,. . . , SM i

j 〉 where each set SM ij contains

the models specifiedby stakeholder i at rank j

2. A function f, determined by the merging operator OPoutputs:

1. A single merged partial ranked structure S : 〈 S0, S1,. . . ,Sk 〉

for each m ∈ SM ij (for any i and any j)

CONS(m) = {〈n, j〉 | n ∈ SMij , for any i and any j, s.t.

Consistent∗(m, n)}Sk := Sk {〈 n, k〉} where 〈 n, k〉 = Combine(CONS(m),

f )return S

Consistent∗(m, n) is a test for the consistency of modelsm and n. Two models are consistent if the following rulesare satisfied:

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

• If a variable is true in the state in one model, and thestate is described in the second model, then the vari-able should be true or undefined in the state of the sec-ond model.

• If a variable is false in the state in one model, and thestate is described in the second model, then the vari-able should be false or undefined in the state of thesecond model.

• If a transition between two states is described in onemodel, both of the states are described in the secondmodel, then the transition should be described in thesecond model.

The following algorithm for function Combine() used inprocedure PartialMerge() is for merging procedure involv-ing the Δmax and ΔΣ operations.

function Combine(S,f )

inputs:1. A set S of pairs of form 〈m, l〉, where m is a model and

l is a rank suchthat l ∈ {0, . . ., r}. (All models referred to in S are

guaranteed to beconsistent).

2. A function f where f = max or f = Σoutputs:

1. A combined model with its associated rank 〈n, k〉n := {}k := 0for l = 0, . . ., r do

n := CombineModels∗(n, m) where 〈m, l〉 ∈ S

k :=max(k, l) if f = max

k + l if f = Σreturn 〈n, k〉The following algorithm for function Combine() using

the Δmin is slightly different from the above.

function Combine(S, f )

inputs:1. A set S of pairs of form 〈m, l〉, where m is a model and

l is a rank suchthat l ∈ {0, . . ., r}. (All models referred to in S are

guaranteed to beconsistent).

2. A function f where f = minoutputs:

1. A combined model with its associated rank 〈n, k〉n := {}rank-set := {}for l = 0, . . ., r do

n := CombineModels∗(n, m) where 〈m, l〉 ∈ Srank-set := rank-set {l}

k :=2l if rank-set is a singleton and rank-set = {l}

2min(rank-set)+1 otherwisereturn 〈n, k〉

The function CombineModels∗(m1, m2) takes two con-sistent models m1 and m2 as input and combines them intoa single model m based on the following principles. We useV arm(si) to denote the set of variables that are assigneda value in state si in model m. We note that in a com-pletely specified model, V arm(si) should be identical foreach state si, but we allow for the possibility that users mayincompletely specify a model.

We use 〈si, sj〉 to denote a transition from si to sj

• If a state si is defined in both models m1 andm2, then si must be defined in m V arm(si) =V arm1(si)

⋃V arm2(si)

• If a state si is defined in model m1 but not in the modelm2 (or the reverse, without loss of generality), thenstate si must be defined in model m. V arm(si) =V arm1(si).

• If a transition 〈si, sj〉 is defined in either m1 or m2,〈si, sj〉 remains a transition in m.

We have described thus far a procedure for merging theincrementally elicited viewpoints of a fixed set of stakehold-ers. In real-life applications, the set of stakeholders maychange - new stakeholders may join and existing ones mayhave. The approach described here has been extended todeal with these, but we do not describe this extension heredue to space constraints.

4. A Simple Case Study

We have implemented the procedures described aboveand conducted three substantial case studies with the result-ing tool, the State View Merge System (SVMS). For brevity,we present a pared down version of the simplest case study,involving requirements for a telephone system, below. Thecase study involved two individuals (we shall refer to themas Tom and Jerry in the following) who were given the fol-lowing initial problem description in English.

The telephone handset has the functionality to re-ceive a call. When it is idle, the receiver is re-placed. When there is an incoming call, it is con-nected. If the incoming call is not answered, itwill be disconnected and become idle again. It isalso can be used to make a call.

The eventually agreed upon model was obliged to satisfythe following two properties:

1. If you are connected, you can replace the receiver. InCTL: AG(connected → EX(∼offhook)).

2. If you are dialing, you can receive an incoming call. InCTL: AG((offhook∧∼connected)→ EX(connected)).

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

igure 1. All elicited viewpoints

igure 2. Viewpoint obtained via merging

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

igure 3. Ranked Structures

Tom and Jerry agreed to use the Δmax merging operatorand used SVMS to merge their initially inconsistent view-points (based on their diverging interpretation of the textualdescription given to them). The partially elicited rankedstructures obtained for Tom and Jerry, as well as the even-tual merged outcome, are represented in Figure 3 (whichuses only model ID’s - the corresponding models are pre-sented in Figures 1 and 2). Note that Tom and Jerry usedistinct vocabularies, which can be reconciled using signa-ture maps as described above. The system found an initialagreement at rank 2 - Tom’s model u7 could be consistentlycombined with Jerry’s model u8. However the SMV modelchecker (which the SVMS system interfaces with) foundthat the resulting combined model, v1, violates Property2. The model elicitation process therefore continued, andan agreement was next identified between Tom and Jerry’smodels at rank 8 (u9 and u10) respectively. The combinedmodel, v2, was found to satsify both properties and was thusadopted as the final merged viewpoint.

5. Conclusion

In this paper, we have presented a novel approach toviewpoints merging that builds on prior work on beliefmerging in Artificial Intelligence. We started with Meyer’sframework for belief merging [9] and modified it to obtaina more practically-grounded approach based on incremen-tally elicited ranked structures. We have described a casestudy using a tool that we have implemented for this ap-proach. A key problem to address in future work is provid-ing support for suggesting specific relaxations of models tostakeholders that might lead to earlier agreements.

References

[1] R. Balzer. Tolerating inconsistency. In Proceedings of the

13th Int’l Conference on Software Engineering, pages 158–

165, 1991.

[2] S. Easterbrook and M. Chechik. A framework for multi-

valued reasoning over inconsistency viewpoints. In Pro-

ceedings of ICSE-2001, pages 411–420.

[3] S. Easterbrook, A. Finkelstein, J. Kramer, and B. Nuseibeh.

Coordinating distributed viewpoints: The anatomy of a con-

sistency check. In Concurrent Engineering Research and

Applications, CERA Institute, West Bloomfield, USA, 1994.

[4] A. Finkelstein, D. Gabbay, A. Hunter, J. Kramer, and B. Nu-

seibeh. Inconsistency handling in multi-perspective specifi-

cations. IEEE Transactions on Software Engineering, 20(8),

1994.

[5] A. Finkelstein, J. Kramer, B. Nuseibeh, L. Finkelstein, and

M. Goedicke. Viewpoints: A framework for integrating

multiple perspectives in system development. International

Journal of Software Engineering and Knowledge Engineer-

ing, 2(1):31–58, 1992.

[6] C. L. Heitmeyer, R. D. Jeffords, and B. G. Labaw. Auto-

mated consistency checking of requirements specifications.

ACM Transactions on Software Engineering and Methodol-

ogy, 5(3):231–261, 1996.

[7] A. Hunter and B. Nuseibeh. Analyzing inconsistent spec-

ifications. In Proceedings of the Third IEEE International

Symposium on Requirements Engineering, pages 78–86,

1997.

[8] T. Meyer, A. K. Ghose, and S. Chopra. Syntactic representa-

tions of semantic merging operations. In Proceedings of the

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006

IJCAI 2001 Workshop on Inconsistency in Data and Knowl-

edge, Seattle, USA, 2001.

[9] T. A. Meyer. On the semantics of combining operations.

Journal of Applied Non-Classical Logics, 11(1-2), 2001.

[10] B. Nuseibeh, J. Kramer, and A. Finkelstein. A framework

for expressing relationships between multiple views in re-

quirements specification. IEEE Transactions on Software

Engineering, 20(10), 1994.

[11] B. Nuseibeh and A. Russo. Using abduction to evolve in-

consistent requirements specifications. Australian Journal

of Information Systems, 7, 1999.

[12] M. D. Ryan. Defaults in specifications. In Proceedings of

the IEEE International Symposium on Requirements Engi-

neering, pages 142–149, 1993.

[13] J. J.-P. Tsai, T. Weigert, and H.-C. Jang. A hybrid knowl-

edge representation as a basis for requirement specification

and specification analysis. IEEE Transactions on Software

Engineering, 18(2):1076–1099.

[14] A. van Lamsweerde, R. Darimont, and E. Leiter. Manag-

ing conflicts in goal-driven requirements engineering. IEEE

Trans. on Software Engineering, 24(11):908–926, 1998.

[15] V. Wiels and S. M. Easterbrook. Management of evolving

specifications using category theory. In Proceedings of the

13th International Conference on Automated Software En-

gineering, 1998.

Proceedings of the Sixth International Conference on Quality Software (QSIC'06)0-7695-2718-3/06 $20.00 © 2006