SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Finding Incremental Solutions
  for Evolving Requirements

       Neil	
  Ernst,	
  Alexander	
  Borgida,	
  Ivan	
  Jureta
nernst@cs.ubc.ca	
  -­‐	
  borgida@cs.rutgers.edu	
  -­‐	
  ijureta@fundp.ac.be




                                       1
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	
  don't	
  know	
  what,	
  or	
  more	
  importantly,	
  
        why	
  we	
  are	
  doing	
  something,	
  "how"	
  we	
  do	
  it	
  is	
  
        inconsequential.	
  


2
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
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
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	
  Policy



5
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
                                                        instances

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
                                                        instances

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
                                                        instances

6
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
                                                        instances

6
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
                                                        instances

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
      Task                                                                                      No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

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

                                                                                                Domain
    Buy strongbox
                                                                         Implement only one
                                                                         primary function per
                                                                                                assumption
                                                                               server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

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
                      Alternatives                                             server
                                                                                                No money for
                                                                                                new servers

                                                        Virtualize
                                                                                 Use multiple
                                                          server
                                                                                   servers
                                                        instances

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
                                                        instances
                                                                                   servers
                                                                                                    Conflict
6
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.
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
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




9
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




9
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        T3




9
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




9
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
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
                                                         instances


10
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
                                                         instances


10
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
                                                         instances


10
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
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
                                                         instances




12
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

Si                                                       Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances




12
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

Si                                                       Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances




12
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

Si                                                       Virtualize
                                                                                  Use multiple
                                                           server
                                                                                    servers
                                                         instances

       New Requirement

12
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 Requirement

12
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 Requirement

12
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    g


13
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    g


13
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    g


13
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    g


13
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    g


13
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    g


13
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    g


13
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
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



                                                                                 # Nodes




15
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 add
16
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
Thanks!
     http://neilernst.net
         @neilernst
     github.com/neilernst




18

Mais conteúdo relacionado

Mais procurados

Cisco small business_communicate_by_leah_davis
Cisco small business_communicate_by_leah_davisCisco small business_communicate_by_leah_davis
Cisco small business_communicate_by_leah_davis
gkmurase
 
Dedicated Hosting Service Agreement
Dedicated Hosting Service AgreementDedicated Hosting Service Agreement
Dedicated Hosting Service Agreement
webhostingguy
 
TenduitRIMCenter
TenduitRIMCenterTenduitRIMCenter
TenduitRIMCenter
grudolphi
 

Mais procurados (18)

SMB Information Protection Portfolio
SMB Information Protection PortfolioSMB Information Protection Portfolio
SMB Information Protection Portfolio
 
Cisco small business_communicate_by_leah_davis
Cisco small business_communicate_by_leah_davisCisco small business_communicate_by_leah_davis
Cisco small business_communicate_by_leah_davis
 
Webinar: eFolder Expert Series: BDR Pain Relief with Lloyd Wolf
Webinar: eFolder Expert Series: BDR Pain Relief with Lloyd WolfWebinar: eFolder Expert Series: BDR Pain Relief with Lloyd Wolf
Webinar: eFolder Expert Series: BDR Pain Relief with Lloyd Wolf
 
z/VM 6.2: Increasing the Endless Possibilities of Virtualization
z/VM 6.2: Increasing the Endless Possibilities of Virtualizationz/VM 6.2: Increasing the Endless Possibilities of Virtualization
z/VM 6.2: Increasing the Endless Possibilities of Virtualization
 
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback OpportunityNovell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
 
Novell Success Stories: Endpoint Management for Nonprofits
Novell Success Stories: Endpoint Management for NonprofitsNovell Success Stories: Endpoint Management for Nonprofits
Novell Success Stories: Endpoint Management for Nonprofits
 
FileStore 5.7
FileStore 5.7FileStore 5.7
FileStore 5.7
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leeds
 
Novell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and ManufacturingNovell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and Manufacturing
 
Webinar: Unifying storage for EMC & NetApp
Webinar: Unifying storage for EMC & NetAppWebinar: Unifying storage for EMC & NetApp
Webinar: Unifying storage for EMC & NetApp
 
Dedicated Hosting Service Agreement
Dedicated Hosting Service AgreementDedicated Hosting Service Agreement
Dedicated Hosting Service Agreement
 
Considering Backup in the Cloud? Here's What you need to know
Considering Backup in the Cloud? Here's What you need to knowConsidering Backup in the Cloud? Here's What you need to know
Considering Backup in the Cloud? Here's What you need to know
 
TenduitRIMCenter
TenduitRIMCenterTenduitRIMCenter
TenduitRIMCenter
 
The Case for Virtual Desktops
The Case for Virtual Desktops The Case for Virtual Desktops
The Case for Virtual Desktops
 
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
How to Implement Cloud Security: The Nuts and Bolts of Novell Cloud Security ...
 
Disa CSD Cloud Brief Sept 2009 Hjs
Disa CSD Cloud Brief Sept 2009 HjsDisa CSD Cloud Brief Sept 2009 Hjs
Disa CSD Cloud Brief Sept 2009 Hjs
 
An introduction to Citrix CloudPlatform (powered by Apache CloudStack), Citri...
An introduction to Citrix CloudPlatform (powered by Apache CloudStack), Citri...An introduction to Citrix CloudPlatform (powered by Apache CloudStack), Citri...
An introduction to Citrix CloudPlatform (powered by Apache CloudStack), Citri...
 
Windows Azure'a Giriş
Windows Azure'a GirişWindows Azure'a Giriş
Windows Azure'a Giriş
 

Semelhante a Finding Incremental Solutions for Evolving Requirements

The Revolution in Licensing - Cloud-Based Licensing
The Revolution in Licensing - Cloud-Based LicensingThe Revolution in Licensing - Cloud-Based Licensing
The Revolution in Licensing - Cloud-Based Licensing
LicensingLive! - SafeNet
 
Integrating Billing and Licensing in a Cloud Environment
Integrating Billing and Licensing in a Cloud EnvironmentIntegrating Billing and Licensing in a Cloud Environment
Integrating Billing and Licensing in a Cloud Environment
LicensingLive! - SafeNet
 
Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...
Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...
Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...
Virsto Software
 
Smart Micro Credit Business Suite
Smart Micro Credit Business SuiteSmart Micro Credit Business Suite
Smart Micro Credit Business Suite
Fahad Iftikhar
 
PCI Compliance What Does This Mean For the Australian Market Place 2007
PCI Compliance What Does This Mean For the Australian Market Place 2007PCI Compliance What Does This Mean For the Australian Market Place 2007
PCI Compliance What Does This Mean For the Australian Market Place 2007
Jason Edelstein
 
Cloud marketplaces will open standards makes dreams of profitability a realit...
Cloud marketplaces will open standards makes dreams of profitability a realit...Cloud marketplaces will open standards makes dreams of profitability a realit...
Cloud marketplaces will open standards makes dreams of profitability a realit...
Khazret Sapenov
 
Covmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newCovmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's new
esarakaitis
 
Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)
webhostingguy
 
Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)
webhostingguy
 
The Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra MolletiThe Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra Molleti
Hitendra Molleti
 
Data Power For Pci Webinar Aug 2012
Data Power For Pci Webinar Aug 2012Data Power For Pci Webinar Aug 2012
Data Power For Pci Webinar Aug 2012
gaborvodics
 
Securing virtualization in real world environments
Securing virtualization in real world environmentsSecuring virtualization in real world environments
Securing virtualization in real world environments
Arun Gopinath
 
Netax presentation web
Netax presentation webNetax presentation web
Netax presentation web
Vicky Kathuria
 
Transcending Computing Environment Boundaries: Seamless Computing Environmen...
Transcending  Computing Environment Boundaries: Seamless Computing Environmen...Transcending  Computing Environment Boundaries: Seamless Computing Environmen...
Transcending Computing Environment Boundaries: Seamless Computing Environmen...
HCL Infosystems
 

Semelhante a Finding Incremental Solutions for Evolving Requirements (20)

10 Steps To Secure and PCI Compliant Credit Card Processing In Oracle Receiva...
10 Steps To Secure and PCI Compliant Credit Card Processing In Oracle Receiva...10 Steps To Secure and PCI Compliant Credit Card Processing In Oracle Receiva...
10 Steps To Secure and PCI Compliant Credit Card Processing In Oracle Receiva...
 
The Revolution in Licensing - Cloud-Based Licensing
The Revolution in Licensing - Cloud-Based LicensingThe Revolution in Licensing - Cloud-Based Licensing
The Revolution in Licensing - Cloud-Based Licensing
 
Integrating Billing and Licensing in a Cloud Environment
Integrating Billing and Licensing in a Cloud EnvironmentIntegrating Billing and Licensing in a Cloud Environment
Integrating Billing and Licensing in a Cloud Environment
 
Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...
Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...
Virsto Software Extends Storage Hypervisor Leadership with Release of Virsto ...
 
Credit Call Multi Channel
Credit Call Multi ChannelCredit Call Multi Channel
Credit Call Multi Channel
 
Smart Micro Credit Business Suite
Smart Micro Credit Business SuiteSmart Micro Credit Business Suite
Smart Micro Credit Business Suite
 
PCI Compliance What Does This Mean For the Australian Market Place 2007
PCI Compliance What Does This Mean For the Australian Market Place 2007PCI Compliance What Does This Mean For the Australian Market Place 2007
PCI Compliance What Does This Mean For the Australian Market Place 2007
 
Cloud marketplaces will open standards makes dreams of profitability a realit...
Cloud marketplaces will open standards makes dreams of profitability a realit...Cloud marketplaces will open standards makes dreams of profitability a realit...
Cloud marketplaces will open standards makes dreams of profitability a realit...
 
Covmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's newCovmug v sphere 4.1 what's new
Covmug v sphere 4.1 what's new
 
Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)
 
Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)Verio Virtual Private Server (VPS)
Verio Virtual Private Server (VPS)
 
Storage Management and High Availability 6.0 Launch
Storage Management and High Availability 6.0 LaunchStorage Management and High Availability 6.0 Launch
Storage Management and High Availability 6.0 Launch
 
Accelerate Automate and Assure Cloud Environments
Accelerate Automate and Assure Cloud EnvironmentsAccelerate Automate and Assure Cloud Environments
Accelerate Automate and Assure Cloud Environments
 
The Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra MolletiThe Evolution Of Server Virtualization By Hitendra Molleti
The Evolution Of Server Virtualization By Hitendra Molleti
 
Consolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization InitiativeConsolidation Planning: Getting the Most from Your Virtualization Initiative
Consolidation Planning: Getting the Most from Your Virtualization Initiative
 
Data Power For Pci Webinar Aug 2012
Data Power For Pci Webinar Aug 2012Data Power For Pci Webinar Aug 2012
Data Power For Pci Webinar Aug 2012
 
Securing virtualization in real world environments
Securing virtualization in real world environmentsSecuring virtualization in real world environments
Securing virtualization in real world environments
 
Netax presentation web
Netax presentation webNetax presentation web
Netax presentation web
 
Vigilix Overview
Vigilix OverviewVigilix Overview
Vigilix Overview
 
Transcending Computing Environment Boundaries: Seamless Computing Environmen...
Transcending  Computing Environment Boundaries: Seamless Computing Environmen...Transcending  Computing Environment Boundaries: Seamless Computing Environmen...
Transcending Computing Environment Boundaries: Seamless Computing Environmen...
 

Mais de Neil Ernst

Introduction for CCASR
Introduction for CCASRIntroduction for CCASR
Introduction for CCASR
Neil Ernst
 

Mais de Neil Ernst (11)

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
 
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent ReasoningSupporting Agile Requirements Evolution via Paraconsistent Reasoning
Supporting Agile Requirements Evolution via Paraconsistent Reasoning
 
Technical Debt and Requirements
Technical Debt and RequirementsTechnical Debt and Requirements
Technical Debt and Requirements
 
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
 
Reasoning with optional and preferred requirements
Reasoning with optional and preferred requirementsReasoning with optional and preferred requirements
Reasoning with optional and preferred 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
 
On the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycleOn the perception of software quality requirements during the project lifecycle
On the perception of software quality requirements during the project lifecycle
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Finding Incremental Solutions for Evolving Requirements

  • 1. Finding Incremental Solutions for Evolving Requirements Neil  Ernst,  Alexander  Borgida,  Ivan  Jureta nernst@cs.ubc.ca  -­‐  borgida@cs.rutgers.edu  -­‐  ijureta@fundp.ac.be 1
  • 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  don't  know  what,  or  more  importantly,   why  we  are  doing  something,  "how"  we  do  it  is   inconsequential.   2
  • 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. 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. 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  Policy 5
  • 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 instances 6
  • 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 instances 6
  • 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 instances 6
  • 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 instances 6
  • 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 instances 6
  • 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 instances 6
  • 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 instances 6
  • 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 instances 6
  • 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 Conflict 6
  • 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. 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. 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 9
  • 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 T3 9
  • 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 T3 9
  • 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 T3 9
  • 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. 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 instances 10
  • 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 instances 10
  • 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 instances 10
  • 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. 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 instances 12
  • 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 servers Si Virtualize Use multiple server servers instances 12
  • 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 servers Si Virtualize Use multiple server servers instances 12
  • 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 servers Si Virtualize Use multiple server servers instances New Requirement 12
  • 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 Requirement 12
  • 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 Requirement 12
  • 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 g 13
  • 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 g 13
  • 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 g 13
  • 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 g 13
  • 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 g 13
  • 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 g 13
  • 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 g 13
  • 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. 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 # Nodes 15
  • 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 add 16
  • 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. Thanks! http://neilernst.net @neilernst github.com/neilernst 18