Finding Incremental Solutions  for Evolving Requirements       Neil	  Ernst,	  Alexander	  Borgida,	  Ivan	  Juretanernst@...
The problem    • Changing	  requirements	  are	  costly	  and	  a	  major	          source	  of	  software	  errors.	     ...
The solution    • Focus	  on	  the	  case	  of	  evolving	  requirements	  due	  to	          unanticipated	  change.    •...
Requirements problems:         Goals, tasks, and assumptions        • Requirements	  describe	  stakeholder	  desires	  fo...
PCI Data Security Standard                 (PCI-DSS)    1.   Build	  and	  Maintain	  a	  Secure	  Network	      2.   Prot...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase             Goal                                    ...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase                                                reven...
PCI-DSS model                                                Increase                                                reven...
Formalizing the requirements problem                      •                           D,	  S	  ⊢	  G1      • A	  flavour	  ...
The REKB    • Store	  requirements	  problem	  elements	  as	  logical	           sentences.        • i.e.,	  goals,	  tas...
Standard ASK questions    1. Are	  goals	  achieved	  from	                     G       tasks?	  (linear	  time	  complexi...
Standard ASK questions    1. Are	  goals	  achieved	  from	                     G       tasks?	  (linear	  time	  complexi...
Standard ASK questions                                                         X    1. Are	  goals	  achieved	  from	     ...
Standard ASK questions    1. Are	  goals	  achieved	  from	                     G       tasks?	  (linear	  time	  complexi...
Standard ASK questions    1. Are	  goals	  achieved	  from	                     G       tasks?	  (linear	  time	  complexi...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
The requirements evolution problem     • Given	  an	  existing	  solution	  Si	  which	  satisfies         D,	  Si	  ⊢	  G,...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
Increase                                                 revenues                Accept payment                           ...
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Useful properties π     1.      Minimal	  implementation	  effort.     2.      Minimal	  change	  effort	  solutions.     3....
Implementing the REKB     • REKB	  is	  a	  functional	  description.     • Leverages	  an	  Assumption-­‐based	  Truth	  ...
Evaluating the REKB                                               100• Evaluate	  the	  REKB	                     10      ...
Evaluating the REKB (2)     • Test	                                   1        incremental	                               ...
Conclusions     • The	  REKB	  is	  a	  framework	  for	  managing	  goals,	           tasks,	  and	  domain	  assumptions...
Thanks!     http://neilernst.net         @neilernst     github.com/neilernst18
Upcoming SlideShare
Loading in …5
×

Finding Incremental Solutions for Evolving Requirements

708 views

Published on

Talk at the RE20

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
708
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Finding Incremental Solutions for Evolving Requirements

  1. 1. Finding Incremental Solutions for Evolving Requirements Neil  Ernst,  Alexander  Borgida,  Ivan  Juretanernst@cs.ubc.ca  -­‐  borgida@cs.rutgers.edu  -­‐  ijureta@fundp.ac.be 1
  2. 2. The problem • Changing  requirements  are  costly  and  a  major   source  of  software  errors.   • Requirements  drift  from  implementation.   • Lack  of  tool  support  for  requirements  evolution. • If  we  dont  know  what,  or  more  importantly,   why  we  are  doing  something,  "how"  we  do  it  is   inconsequential.  2
  3. 3. The solution • Focus  on  the  case  of  evolving  requirements  due  to   unanticipated  change. • Introduce  a  simple  propositional  formalism  on  a   case  study. • Define  solutions  to  requirements  problems. • Define  the  requirements  evolution  problem. • Use  a  functional  interface  to  determine  what   changes  to  make  and  why. • Evaluate  the  performance  of  solution-­‐finding.3
  4. 4. Requirements problems: Goals, tasks, and assumptions • Requirements  describe  stakeholder  desires  for  the  new   system  (e.g.,  “protect  cardholder  data”). • These  desired  states  we  call  goals. • Goals  are  iteratively  refined  until  operationalized  by  an   implementation  task. • A  goal  model  defines  a  space  of  alternative  designs  for   satisfying  goals,  constrained  by  domain  assumptions. The  requirements  problem:  given  a  set  of  goals,  which  tasks   and  assumptions  satisfy  those  goals?1 [1] [1] P. Zave and M. Jackson, “Four Dark Corners of Requirements Engineering,” TOSEM, vol. 6, pp. 1-30, 1997.4
  5. 5. PCI Data Security Standard (PCI-DSS) 1. Build  and  Maintain  a  Secure  Network   2. Protect  Cardholder  Data 3. Maintain  a  Vulnerability  Management  Program 4. Implement  Strong  Access  Control  Measures 5. Regularly  Monitor  and  Test  Networks 6. Maintain  an  Information  Security  Policy5
  6. 6. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances6
  7. 7. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances6
  8. 8. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances6
  9. 9. PCI-DSS model Increase Goal revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances6
  10. 10. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept cash Accept credit card Refinement Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances6
  11. 11. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server Task No money for new servers Virtualize Use multiple server servers instances6
  12. 12. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Domain Buy strongbox Implement only one primary function per assumption server No money for new servers Virtualize Use multiple server servers instances6
  13. 13. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Alternatives server No money for new servers Virtualize Use multiple server servers instances6
  14. 14. PCI-DSS model Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server instances servers Conflict6
  15. 15. Formalizing the requirements problem • D,  S  ⊢  G1 • A  flavour  of  the  Techne  RE  language. Concepts • Goals  G • Domain  assumptions  D • Sets  of  implementation  tasks  S Relations • implication  (Horn  clause)   • conflict  (A,  B,  A  ⋀  B  →⊥) [1] Jureta, Borgida, Ernst, Mylopoulos, “Techne: Towards a New Generation of Requirements Modeling Languages with Goals,7 Preferences, and Inconsistency Handling.” RE2010, 115-124.
  16. 16. The REKB • Store  requirements  problem  elements  as  logical   sentences. • i.e.,  goals,  tasks,  domain  assumptions  and  relations • Define  a  TELL/ASK  interface  for  solving   requirements  problems. • TELL:  atoms,  sentences. • UNTELL:  asserted  atoms. • ASK:  solutions  to  requirements  problem  in  REKB.8
  17. 17. Standard ASK questions 1. Are  goals  achieved  from   G tasks?  (linear  time  complexity) 2. Find  minimal  sets  of  tasks   G1 G2 that  achieve  goals     (NP-­‐hard  complexity) T1 T2 T39
  18. 18. Standard ASK questions 1. Are  goals  achieved  from   G tasks?  (linear  time  complexity) 2. Find  minimal  sets  of  tasks   G1 G2 that  achieve  goals     (NP-­‐hard  complexity) T1 T2 T39
  19. 19. Standard ASK questions X 1. Are  goals  achieved  from   G tasks?  (linear  time  complexity) 2. Find  minimal  sets  of  tasks   G1 G2 that  achieve  goals     (NP-­‐hard  complexity) T1 T2 T39
  20. 20. Standard ASK questions 1. Are  goals  achieved  from   G tasks?  (linear  time  complexity) 2. Find  minimal  sets  of  tasks   G1 G2 that  achieve  goals     (NP-­‐hard  complexity) T1 T2 T39
  21. 21. Standard ASK questions 1. Are  goals  achieved  from   G tasks?  (linear  time  complexity) 2. Find  minimal  sets  of  tasks   G1 G2 that  achieve  goals     (NP-­‐hard  complexity) T1 T2 T3 Smin = {T1, T3} {T2, T3}9
  22. 22. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances10
  23. 23. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances10
  24. 24. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances10
  25. 25. The requirements evolution problem • Given  an  existing  solution  Si  which  satisfies D,  Si  ⊢  G,  and • modified  entities  (δ(G),  δ(D),  δ(S)); • Find  Ŝ  so  that  δ(D),  Ŝ  ⊢  δ(G),  such  that  this   satisfies  some  desired  property  π,  relating  Ŝ  to  Si.11
  26. 26. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new servers Virtualize Use multiple server servers instances12
  27. 27. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per server No money for new serversSi Virtualize Use multiple server servers instances12
  28. 28. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new serversSi Virtualize Use multiple server servers instances12
  29. 29. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new serversSi Virtualize Use multiple server servers instances New Requirement12
  30. 30. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new servers Virtualize Use multiple server servers instances New Requirement12
  31. 31. Increase revenues Accept payment Avoid financial losses and penalties Accept credit Accept cash card Use Verifone Use Moneris Be PCI POS POS compliant Buy strongbox Implement only one primary function per Use Secure Hash server on CC # No money for new servers Virtualize Use multiple server serversŜ instances New Requirement12
  32. 32. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  33. 33. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  34. 34. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  35. 35. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  36. 36. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  37. 37. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  38. 38. Useful properties π 1. Minimal  implementation  effort. 2. Minimal  change  effort  solutions. 3. Maximal  familiarity  solutions. 4. Solution  reuse  in  family  of  solutions. Si Sa Sb Sc a b c a c a b c f g h d e d f d g13
  39. 39. Implementing the REKB • REKB  is  a  functional  description. • Leverages  an  Assumption-­‐based  Truth   Maintenance  System1  (ATMS).   • Incremental,  minimal,  conflict-­‐tolerant. • Other  options:  SAT  solvers,  SMT,  PsB. • Problem  solver  tracks  implemented  tasks,   versions  elements,  retracts  atoms. [1] J. de Kleer, “An assumption-based TMS,” Artificial Intelligence, 28, 1986, pp. 127-162.14
  40. 40. Evaluating the REKB 100• Evaluate  the  REKB   10 Time (s) approach  on 1 • the  PCI-­‐DSS   • random  requirements   0.1 models 0.01 0 50 100 150 200 250 300 350 400 450 500 550 600 # Nodes15
  41. 41. Evaluating the REKB (2) • Test   1 incremental   New%task performance   Time (s) on  three   High%level evolution   0.1 Conflict scenarios         (400  nodes) Naive add Incremental add16
  42. 42. Conclusions • The  REKB  is  a  framework  for  managing  goals,   tasks,  and  domain  assumptions. • Find  incremental  solutions,  and  find  optimal   solutions.FIX • Solving  requirements  problems  provide  the   “why”  for  maintenance  activity.17
  43. 43. Thanks! http://neilernst.net @neilernst github.com/neilernst18

×