SlideShare a Scribd company logo
1 of 13
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) ,[object Object],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 Identify admissible models (‘possible 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. Find admissible solutions: one which satisfies all must-be requirements. Find maximal set(s) of options which keep model admissible
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 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

More Related Content

Similar to Reasoning with optional and preferred requirements

Topic_6
Topic_6Topic_6
Topic_6butest
 
FOCUS.doc
FOCUS.docFOCUS.doc
FOCUS.docbutest
 
Machine Learning and Artificial Neural Networks.ppt
Machine Learning and Artificial Neural Networks.pptMachine Learning and Artificial Neural Networks.ppt
Machine Learning and Artificial Neural Networks.pptAnshika865276
 
Part 1
Part 1Part 1
Part 1butest
 
Aerodynamic design of Aircraft”
Aerodynamic design of Aircraft”Aerodynamic design of Aircraft”
Aerodynamic design of Aircraft”Masahiro Kanazaki
 
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...gregoryg
 
ML.ppt
ML.pptML.ppt
ML.pptbutest
 
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...Shubhashis Shil
 
This is a heavily data-oriented
This is a heavily data-orientedThis is a heavily data-oriented
This is a heavily data-orientedbutest
 
This is a heavily data-oriented
This is a heavily data-orientedThis is a heavily data-oriented
This is a heavily data-orientedbutest
 
Genetic Algorithms.ppt
Genetic Algorithms.pptGenetic Algorithms.ppt
Genetic Algorithms.pptRohanBorgalli
 
Data.Mining.C.6(II).classification and prediction
Data.Mining.C.6(II).classification and predictionData.Mining.C.6(II).classification and prediction
Data.Mining.C.6(II).classification and predictionMargaret Wang
 
COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...
COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...
COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...IAEME Publication
 
Comparison between the genetic algorithms optimization and particle swarm opt...
Comparison between the genetic algorithms optimization and particle swarm opt...Comparison between the genetic algorithms optimization and particle swarm opt...
Comparison between the genetic algorithms optimization and particle swarm opt...IAEME Publication
 

Similar to Reasoning with optional and preferred requirements (20)

Don't Treat the Symptom, Find the Cause!.pptx
Don't Treat the Symptom, Find the Cause!.pptxDon't Treat the Symptom, Find the Cause!.pptx
Don't Treat the Symptom, Find the Cause!.pptx
 
nnml.ppt
nnml.pptnnml.ppt
nnml.ppt
 
Topic_6
Topic_6Topic_6
Topic_6
 
S10
S10S10
S10
 
S10
S10S10
S10
 
Moga
MogaMoga
Moga
 
FOCUS.doc
FOCUS.docFOCUS.doc
FOCUS.doc
 
Machine Learning and Artificial Neural Networks.ppt
Machine Learning and Artificial Neural Networks.pptMachine Learning and Artificial Neural Networks.ppt
Machine Learning and Artificial Neural Networks.ppt
 
Part 1
Part 1Part 1
Part 1
 
Aerodynamic design of Aircraft”
Aerodynamic design of Aircraft”Aerodynamic design of Aircraft”
Aerodynamic design of Aircraft”
 
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
Multi-criteria Decision Analysis for Customization of Estimation by Analogy M...
 
ML.ppt
ML.pptML.ppt
ML.ppt
 
Eric Smidth
Eric SmidthEric Smidth
Eric Smidth
 
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
Solving Multidimensional Multiple Choice Knapsack Problem By Genetic Algorith...
 
This is a heavily data-oriented
This is a heavily data-orientedThis is a heavily data-oriented
This is a heavily data-oriented
 
This is a heavily data-oriented
This is a heavily data-orientedThis is a heavily data-oriented
This is a heavily data-oriented
 
Genetic Algorithms.ppt
Genetic Algorithms.pptGenetic Algorithms.ppt
Genetic Algorithms.ppt
 
Data.Mining.C.6(II).classification and prediction
Data.Mining.C.6(II).classification and predictionData.Mining.C.6(II).classification and prediction
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...COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...
COMPARISON BETWEEN THE GENETIC ALGORITHMS OPTIMIZATION AND PARTICLE SWARM OPT...
 
Comparison between the genetic algorithms optimization and particle swarm opt...
Comparison between the genetic algorithms optimization and particle swarm opt...Comparison between the genetic algorithms optimization and particle swarm opt...
Comparison between the genetic algorithms optimization and particle swarm opt...
 

More from Neil Ernst

Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Neil Ernst
 
Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Neil Ernst
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsNeil Ernst
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and RequirementsNeil Ernst
 
Requirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionRequirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionNeil Ernst
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringNeil Ernst
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASRNeil Ernst
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirementsNeil Ernst
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution historyNeil Ernst
 

More from Neil Ernst (9)

Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
Measure It, Manage It, Ignore It - Software Practitioners and Technical Debt
 
Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015Critical Research Review at EmpiRE 2015
Critical Research Review at EmpiRE 2015
 
Using AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute TradeoffsUsing AI to Model Quality Attribute Tradeoffs
Using AI to Model Quality Attribute Tradeoffs
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
Requirements Evolution Drives Software Evolution
Requirements Evolution Drives Software EvolutionRequirements Evolution Drives Software Evolution
Requirements Evolution Drives Software Evolution
 
Adoption-Centric Knowledge Engineering
Adoption-Centric Knowledge EngineeringAdoption-Centric Knowledge Engineering
Adoption-Centric Knowledge Engineering
 
Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
 
Visualizing non-functional requirements
Visualizing non-functional requirementsVisualizing non-functional requirements
Visualizing non-functional requirements
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
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}
  • 5.
  • 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 ✓
  • 13. 13 Experimental evaluation Implementation code at http://github.com/neilernst/er2010
  • 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
  • 16.
  • 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

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