Upcoming SlideShare
×

Like this presentation? Why not share!

# Reasoning with optional and preferred requirements

## on Mar 16, 2011

• 552 views

Presented at ER2010, November

Presented at ER2010, November

### Views

Total Views
552
Views on SlideShare
550
Embed Views
2

Likes
0
1
0

### Report content

• Comment goes here.
Are you sure you want to
• “Correct specifications, in conjunction with appropriate domain knowledge, imply the satisfaction of the requirements.”|- == derives
• \\begin{figure}\\centerline{\\xymatrix @R=4mm @C=4mm{& \\{A,B,C,D\\} & \\\\\\{A,B,C\\} \\ar[ur] & \\{A,C,D\\} \\ar[u] & \\{B,C,D\\} \\ar[ul] \\\\ %p_1 \\ar[dr]^{}\\{A,B\\} \\ar[u] \\ar[uur] & \\{B,C\\} \\ar[ul] \\ar@[uu] \\ar[ur] & \\ldots \\\\ %\\ar[ur]^{} \\ar[d]^{}\\{A\\} \\ar[u] \\ar[ur] & \\{B\\} \\ar[u] \\ar[ul] & \\dots \\\\}} \\label{fig:ex1}\\end{figure}Tabu

## Reasoning with optional and preferred requirementsPresentation Transcript

• Reasoning with optional and preferred requirements
Neil A. Ernst, John Mylopoulos, Alex Borgida, Ivan Jureta
Universities of Toronto, Trento, Rutgers, Namur
nernst@cs.toronto.edu
• 2
Motivation
Most RE processes assume we derive a single implementation
RE models express a landscape of alternative solutions, from which we can select those suitable
Q1. how do we find solutions (efficiently)?
Q2. what solution(s) should we choose?
• 3
The requirements problem
Find a specification S which will create a system to satisfy desired requirements R in a domain D.
↪ D, S ⊢ R1
Let’s assume R is represented using goals.
Then a solution to our problem is a set of input goals satisfying our mandatory goals.
Represent this model using the Sebastiani formulation (QGM).2
1P. Zave and M. Jackson. Four Dark Corners of Requirements Engineering. ToSEM, 6:1–30, 1997.
2Sebastiani, R., Giorgini, P., Mylopoulos, J.: Simple and Minimum-Cost Satisfiability for Goal Models.CAISE 2004
• M
M
A
L
OR
OR
OR
OR
B
C
J
K
P
– –
OR
++
OR
F
D
E
++
– –
AND
AND
G
H
1. Our solution must have {A,L}
2. {E} would be nice, and we prefer {C} to {B}
3. S1={D,J} S2 = {D,K} S3 = {E,K} S4 = {G,H,J}
4. Preferred soln: {E,K}
• 5
Accounting for taste
Preferences are binary relations over goals (prefer G1 G2)
• prefer solutions with G1 over those with G2.
Options are requirements it would be nice to have in our solution(prefer O1∈S O1∉S)
Noriaki Kano1 would call these attractive requirements, as separate from must-be or performance requirements.
1Kano, N., et al. “Attractive quality and must-be quality.” Journal of the Japanese Society for Quality Control 14, no. 2 (1984): 39-48.
• Client attitude
Requirement status
• 7
Finding solutions
Satisfy as many optional requirements as possible;
Identify alternatives;
Filter the set of alternatives using user-expressed preferences.
• 8
Finding solutions (2)
Separate model into must-be and optional.
one which satisfies all must-be requirements.
Find maximal set(s) of options which keep model admissible
• 9
Finding solutions (3)
Identify alternatives (OR)
Boolean satisfiability solver to find #SAT
Set of optionset + alternatives
Prune alternatives using preferences
Dominate(P,Q)⇔for everyq∈Q, there is anp∈Pwhich is preferred or equivalent
E.g.P = (A,B,C), Q = (B,C,D), (pref A D)
P is dominant
• 10
Initial optimizations
Scale option selection using cardinality or membership queries
Filter using preferences over options
Find near-optimal sets with Tabu search1
1Glover, Fred. Tabu Search--Part I. INFORMS Journal on Computing 1, no. 3 (January 1989): 190-206.
• 11
Tabu search of options
Search the lattice formed by subset closure of option sets
Improvements measured using cardinality
Tabu search allows for intelligent backtracking
Limit number of moves for speed
No guarantees of optimality, only of termination
X

• 12
Example: Enterprise portals
• 13
Experimental evaluation
Implementation code at
http://github.com/neilernst/er2010
• Summary
We have used options and preferences to select between solutions to the requirements problem.
We introduced several optimizations in order to find solutions efficiently.
14
nernst@cs.toronto.edu
• Thanks!
• 17
Outline
Motivation
The req. problem
Prefs and priorities in goal models
Kano model
Case study
An extension of the qualitative goal modeling framework of Sebastiani et al. [?], supporting stakeholder preferences and optional requirements.
Macro operators for managing the scale of the possible problem and solution spaces.
Algorithms to generate and compare all possible solutions.
A local search algorithm to efficiently find solutions in a complex requirements model.
A case study showing these concepts working on a problem at reasonable scale.