Using requirements to retrace software evolution history
Reasoning with optional and preferred requirements
1. 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. 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. 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
4. 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}
7. 7 Finding solutions Identify admissible models (‘possible solutions’); Satisfy as many optional requirements as possible; Identify alternatives; Filter the set of alternatives using user-expressed preferences.
8. 8 Finding solutions (2) Separate model into must-be and optional. Find admissible solutions: one which satisfies all must-be requirements. Find maximal set(s) of options which keep model admissible
9. 9 Finding solutions (3) Identify alternatives (OR) Admissible solutions + options 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. 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. 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 ✓
14. 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
17. 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.
Editor's Notes
“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@<1ex>[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