SlideShare a Scribd company logo
Reasoning with optional and preferred requirementsNeil A. Ernst, John Mylopoulos, Alex Borgida, Ivan JuretaUniversities of Toronto, Trento, Rutgers, Namurnernst@cs.toronto.edu
2MotivationMost RE processes assume we derive a single implementation RE models express a landscape of alternative solutions, from which we can select those suitableQ1. how do we find solutions (efficiently)?Q2. what solution(s) should we choose?
3The requirements problemFind a specification S which will create a system to satisfy desired requirements R in a domain D.↪ D, S ⊢ R1Let’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).21P. 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
MMALORORORORBCJKP– –OR++ORFDE++– –ANDANDGH	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}
5Accounting for tastePreferences 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 attitudeRequirement status
7Finding solutionsIdentify admissible models (‘possible solutions’);Satisfy as many optional requirements as possible;Identify alternatives; Filter the set of alternatives using user-expressed preferences.
8Finding 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
9Finding solutions (3)Identify alternatives (OR) Admissible solutions + optionsBoolean satisfiability solver to find #SATSet of optionset + alternativesPrune alternatives using preferencesDominate(P,Q)⇔for everyq∈Q, there is anp∈Pwhich is preferred or equivalentE.g.P = (A,B,C), Q = (B,C,D), (pref A D) P is dominant
10Initial optimizationsScale option selection using cardinality or membership queries Filter using preferences over options Find near-optimal sets with Tabu search11Glover, Fred.  Tabu Search--Part I. INFORMS Journal on Computing 1, no. 3 (January 1989): 190-206.
11Tabu search of optionsSearch the lattice formed by subset closure of option setsImprovements measured using cardinalityTabu search allows for intelligent backtrackingLimit number of moves for speedNo guarantees of optimality, only of termination 	 	X✓
12Example: Enterprise portals
13Experimental evaluationImplementation code at http://github.com/neilernst/er2010

More Related Content

PDF
Lecture7
PPT
Scatter search
PPT
Chapter3 Search
PDF
Finding Incremental Solutions for Evolving Requirements
PDF
On the perception of software quality requirements during the project lifecycle
PDF
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
PPTX
Content Strategy for Social Media
PPT
เบ๊น
Lecture7
Scatter search
Chapter3 Search
Finding Incremental Solutions for Evolving Requirements
On the perception of software quality requirements during the project lifecycle
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Content Strategy for Social Media
เบ๊น

Similar to Reasoning with optional and preferred requirements (20)

PPTX
Don't Treat the Symptom, Find the Cause!.pptx
PPT
nnml.ppt
PPT
Topic_6
PPT
S10
PPT
S10
PPTX
DOC
FOCUS.doc
PPT
Machine Learning and Artificial Neural Networks.ppt
PPT
Part 1
PDF
Aerodynamic design of Aircraft”
PPT
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
PPT
ML.ppt
PDF
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
PPT
This is a heavily data-oriented
PPT
This is a heavily data-oriented
PPT
Genetic Algorithms.ppt
PPT
Data.Mining.C.6(II).classification and prediction
PDF
Comparison between the genetic algorithms optimization and particle swarm opt...
PDF
COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...
Don't Treat the Symptom, Find the Cause!.pptx
nnml.ppt
Topic_6
S10
S10
FOCUS.doc
Machine Learning and Artificial Neural Networks.ppt
Part 1
Aerodynamic design of Aircraft”
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
ML.ppt
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
This is a heavily data-oriented
This is a heavily data-oriented
Genetic Algorithms.ppt
Data.Mining.C.6(II).classification and prediction
Comparison between the genetic algorithms optimization and particle swarm opt...
COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...
Ad

More from Neil Ernst (9)

PPTX
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
PPTX
Critical Research Review at EmpiRE 2015
PDF
Using AI to Model Quality Attribute Tradeoffs
KEY
Technical Debt and Requirements
PDF
Requirements Evolution Drives Software Evolution
PDF
Adoption-Centric Knowledge Engineering
PDF
Introduction for CCASR
ODP
Visualizing non-functional requirements
PPT
Using requirements to retrace software evolution history
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Critical Research Review at EmpiRE 2015
Using AI to Model Quality Attribute Tradeoffs
Technical Debt and Requirements
Requirements Evolution Drives Software Evolution
Adoption-Centric Knowledge Engineering
Introduction for CCASR
Visualizing non-functional requirements
Using requirements to retrace software evolution history
Ad

Reasoning with optional and preferred requirements

  • 1. Reasoning with optional and preferred requirementsNeil A. Ernst, John Mylopoulos, Alex Borgida, Ivan JuretaUniversities of Toronto, Trento, Rutgers, Namurnernst@cs.toronto.edu
  • 2. 2MotivationMost RE processes assume we derive a single implementation RE models express a landscape of alternative solutions, from which we can select those suitableQ1. how do we find solutions (efficiently)?Q2. what solution(s) should we choose?
  • 3. 3The requirements problemFind a specification S which will create a system to satisfy desired requirements R in a domain D.↪ D, S ⊢ R1Let’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).21P. 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. MMALORORORORBCJKP– –OR++ORFDE++– –ANDANDGH 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. 5Accounting for tastePreferences 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.
  • 7. 7Finding solutionsIdentify admissible models (‘possible solutions’);Satisfy as many optional requirements as possible;Identify alternatives; Filter the set of alternatives using user-expressed preferences.
  • 8. 8Finding 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. 9Finding solutions (3)Identify alternatives (OR) Admissible solutions + optionsBoolean satisfiability solver to find #SATSet of optionset + alternativesPrune alternatives using preferencesDominate(P,Q)⇔for everyq∈Q, there is anp∈Pwhich is preferred or equivalentE.g.P = (A,B,C), Q = (B,C,D), (pref A D) P is dominant
  • 10. 10Initial optimizationsScale option selection using cardinality or membership queries Filter using preferences over options Find near-optimal sets with Tabu search11Glover, Fred. Tabu Search--Part I. INFORMS Journal on Computing 1, no. 3 (January 1989): 190-206.
  • 11. 11Tabu search of optionsSearch the lattice formed by subset closure of option setsImprovements measured using cardinalityTabu search allows for intelligent backtrackingLimit number of moves for speedNo guarantees of optimality, only of termination X✓
  • 13. 13Experimental evaluationImplementation code at http://github.com/neilernst/er2010
  • 14. SummaryWe have used options and preferences to select between solutions to the requirements problem.We introduced several optimizations in order to find solutions efficiently.14nernst@cs.toronto.edu
  • 17. 17OutlineMotivationThe req. problemPrefs and priorities in goal modelsKano modelCase studyAn 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

  • #3: “Correct specifications, in conjunction with appropriate domain knowledge, imply the satisfaction of the requirements.”|- == derives
  • #10: \\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