Reasoning with optional and preferred requirements
Upcoming SlideShare
Loading in...5
×
 

Reasoning with optional and preferred requirements

on

  • 552 views

Presented at ER2010, November

Presented at ER2010, November

Statistics

Views

Total Views
552
Views on SlideShare
550
Embed Views
2

Actions

Likes
0
Downloads
1
Comments
0

2 Embeds 2

http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • “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 requirements Reasoning with optional and preferred requirements Presentation 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
    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
  • 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.