SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Agile Requirements
                Evolution via
          Paraconsistent Reasoning
                                        Neil A. Ernst
                               University of British Columbia
                        @neilernst • neil@neilernst.net • neilernst.net


            with: Alexander Borgida, John Mylopoulos and Ivan Jureta
                    borgida@cs.rutgers.edu, jm@disi.unitn.it,
Thursday, 28 June, 12
                             ijureta@fundp.ac.be
page 382 of proceedings

             Agile Requirements
                Evolution via
          Paraconsistent Reasoning
                                        Neil A. Ernst
                               University of British Columbia
                        @neilernst • neil@neilernst.net • neilernst.net


            with: Alexander Borgida, John Mylopoulos and Ivan Jureta
                    borgida@cs.rutgers.edu, jm@disi.unitn.it,
Thursday, 28 June, 12
                             ijureta@fundp.ac.be
Takeaway
       We need agile requirements models — that
          can still be systematically analysed.




Thursday, 28 June, 12
Takeaway
       We need agile requirements models — that
          can still be systematically analysed.

          • Motivation




Thursday, 28 June, 12
Takeaway
       We need agile requirements models — that
          can still be systematically analysed.

          • Motivation
          • Formal representation of a requirements
                  problem as a knowledge base.




Thursday, 28 June, 12
Takeaway
       We need agile requirements models — that
          can still be systematically analysed.

          • Motivation
          • Formal representation of a requirements
                  problem as a knowledge base.
          •       How paraconsistent reasoning helps us
                  support dynamism.



Thursday, 28 June, 12
Takeaway
       We need agile requirements models — that
          can still be systematically analysed.

          • Motivation
          • Formal representation of a requirements
                  problem as a knowledge base.
          •       How paraconsistent reasoning helps us
                  support dynamism.
          •       Evaluation, how this works in practice.

Thursday, 28 June, 12
Agility ...

                                               Test
                               Devel.                 Ops
                        Req



                                        time
Thursday, 28 June, 12
Agility ...


                                          Test
                              Devel.             Ops
                        Req



                                   time
Thursday, 28 June, 12
Agility ...


                                          Test
                              Devel.             Ops
                        Req



                                   time
Thursday, 28 June, 12
Agility ...


                                    Test
                        Devel.             Ops
               Req

                             time
Thursday, 28 June, 12
Agility ...


                                    Test
                        Devel.             Ops
               Req

                             time
Thursday, 28 June, 12
Requirements agility is
                        constrained




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login     Security hole




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login     Security hole
       How about removing
             RSA?




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login      Security hole
       How about removing
                               Not back-compatible
             RSA?




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login      Security hole
       How about removing
                               Not back-compatible
             RSA?
    Simplify account mgmt?




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login      Security hole
       How about removing
                               Not back-compatible
             RSA?
    Simplify account mgmt? Violates Sarbanes-Oxley




Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login      Security hole
       How about removing
                               Not back-compatible
             RSA?
    Simplify account mgmt? Violates Sarbanes-Oxley

   Add COO’s pet feature?

Thursday, 28 June, 12
Requirements agility is
                        constrained

      Let’s add remote login      Security hole
       How about removing
                               Not back-compatible
             RSA?
    Simplify account mgmt? Violates Sarbanes-Oxley

   Add COO’s pet feature?        CEO hates COO

Thursday, 28 June, 12
Requirements agility
                          means success




Thursday, 28 June, 12
Requirements agility
                          means success




Thursday, 28 June, 12
“[the code] remained
                          operational in Ariane 5
                          without satisfying any
                        (traceable) requirement.”
Thursday, 28 June, 12
Thursday, 28 June, 12
Command             Executions
                              edit.Delete          5.4 M
                               file.Save            4.3 M
                              edit.Paste           3.8 M
                               edit.Copy           2.4 M
                        ContentAssist.proposals    1.4 M




Thursday, 28 June, 12
Command                  Executions
                                edit.Delete                5.4 M
                                  file.Save                 4.3 M
                                 edit.Paste                3.8 M
                                 edit.Copy                 2.4 M
                          ContentAssist.proposals          1.4 M

                               Command                     Executions
                           window.previousView                 9
                              navigate.Back                     69
                          window.showViewMenu                   89
                        window.previousPerspective             155
                          window.previousEditor                166
                                              Data: Eclipse UPP, 200908, eclipse.ui, 3.5.0
Thursday, 28 June, 12
Requirements problems




Thursday, 28 June, 12
Requirements problems
                        R   R   R




Thursday, 28 June, 12
Requirements problems
                        R       R       R



                            r       r




Thursday, 28 June, 12
Requirements problems
                        R           R           R



                            r           r




                        T           T
                                            T
                                T                   T



Thursday, 28 June, 12
Requirements problems
                        R           R           R



                            r           r




                        T           T
                                            T
                                T                   T



Thursday, 28 June, 12
Requirements problems
                        R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Requirements problems
                        R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Requirements problems
                        R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Requirements problems
                        R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Requirements problems
                        R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Requirements problems
                        R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Requirements problems
                        R           R               R


                                                     Requirements
                            r               r       Knowledge Base



                        T           T
                                                T
                                T                       T

                        D               D

Thursday, 28 June, 12
Paraconsistency
                                           Payment
                                          Card regs.




Thursday, 28 June, 12
Formalizing
                        paraconsistency
           • For the statement ‘requirement A
                   conflicts with requirement B’ write
                   A∧B→⊥
           •       Inconsistent when bottom (⊥) can be
                   derived
           •       Often more ‘complete’ requirements
                   are less consistent.

Thursday, 28 June, 12
Why paraconsistency?




                        taken from Nuseibeh et al. 2001
Thursday, 28 June, 12
Why paraconsistency?
              • to facilitate distributed collaborative
                        working (viewpoints),




                                           taken from Nuseibeh et al. 2001
Thursday, 28 June, 12
Why paraconsistency?
              • to facilitate distributed collaborative
                        working (viewpoints),
              •         to ensure all stakeholder views are
                        taken into account,




                                           taken from Nuseibeh et al. 2001
Thursday, 28 June, 12
Why paraconsistency?
              • to facilitate distributed collaborative
                        working (viewpoints),
              •         to ensure all stakeholder views are
                        taken into account,
              •         to focus attention on problem areas [of
                        the specification],


                                           taken from Nuseibeh et al. 2001
Thursday, 28 June, 12
Why paraconsistency?
              • to facilitate distributed collaborative
                        working (viewpoints),
              •         to ensure all stakeholder views are
                        taken into account,
              •         to focus attention on problem areas [of
                        the specification],
              •         to prevent premature commitment to
                        design decisions.
                                           taken from Nuseibeh et al. 2001
Thursday, 28 June, 12
Why paraconsistency?
              • to facilitate distributed collaborative
                        working (viewpoints),
              •         to ensure all stakeholder views are
                        taken into account,
              •         to focus attention on problem areas [of
                        the specification],
              •         to prevent premature commitment
                        to design decisions.
                                           taken from Nuseibeh et al. 2001
Thursday, 28 June, 12
Criteria for paraconsistent
                    satisfaction
               • Domain assumptions and refinements
                 are consistent.
               • Desired goals are internally
                 consistent.
               • Selected tasks are internally
                        consistent.


Thursday, 28 June, 12
R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D


Thursday, 28 June, 12
R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D


Thursday, 28 June, 12
R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D


Thursday, 28 June, 12
R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D


Thursday, 28 June, 12
R           R               R



                            r               r




                        T           T
                                                T
                                T                       T

                        D               D


Thursday, 28 June, 12
What to do?




Thursday, 28 June, 12
What to do?
               1. Given goals, what minimal sets of tasks
                  satisfy them? (minimal goal
                  achievement)




Thursday, 28 June, 12
What to do?
               1. Given goals, what minimal sets of tasks
                  satisfy them? (minimal goal
                  achievement)
               2. Given goals, and minimal task sets, what
                  can we add to expand our consistent
                  solution? (get candidate solutions)




Thursday, 28 June, 12
What to do?
               1. Given goals, what minimal sets of tasks
                  satisfy them? (minimal goal
                  achievement)
               2. Given goals, and minimal task sets, what
                  can we add to expand our consistent
                  solution? (get candidate solutions)
               3. Other operations: bottom-up reasoning,
                  costs, etc.


Thursday, 28 June, 12
Minimal Goal Achievement
                         Assign
                        unique ID                          Use
                                                       existing h/w


      Compensating                   8.1 prevent
        control                     multiple logins



                                                                  Use AS/400
       Use SUDO                                      Use
                               Log                                 servers
                                                  centralized
                              Access                  ID


Thursday, 28 June, 12
Minimal Goal Achievement
                         Assign
                        unique ID                          Use
                                                       existing h/w


      Compensating                   8.1 prevent
        control                     multiple logins



                                                                  Use AS/400
       Use SUDO                                      Use
                               Log                                 servers
                                                  centralized
                              Access                  ID


Thursday, 28 June, 12
Minimal Goal Achievement
                         Assign
                        unique ID                          Use
                                                       existing h/w


      Compensating                   8.1 prevent
        control                     multiple logins



                                                                  Use AS/400
       Use SUDO                                      Use
                               Log                                 servers
                                                  centralized
                              Access                  ID


Thursday, 28 June, 12
Assign
                        unique ID                          Use
                                                       existing h/w


      Compensating                   8.1 prevent
        control                     multiple logins



                                                                  Use AS/400
       Use SUDO                                      Use
                               Log                                 servers
                                                  centralized
                              Access                  ID


Thursday, 28 June, 12
Get Candidate Solutions
                         Assign
                        unique ID                          Use
                                                       existing h/w


      Compensating                   8.1 prevent
        control                     multiple logins



                                                                  Use AS/400
       Use SUDO                                      Use
                               Log                                 servers
                                                  centralized
                              Access                  ID


Thursday, 28 June, 12
Get Candidate Solutions
                         Assign
                        unique ID                          Use
                                                       existing h/w


      Compensating                   8.1 prevent
        control                     multiple logins



                                                                  Use AS/400
       Use SUDO                                      Use
                               Log                                 servers
                                                  centralized
                              Access                  ID


Thursday, 28 June, 12
Evaluation and implementation

               • Implemented reasoner using graphical
                        modeling tool and assumption-based
                        truth maintenance.
               •        Tested tool on 340 requirement
                        Payment Card case study.
               •        Find all solutions in ~600s.
               •        Outperforms (outdated) MinWeightSat
                        reasoner.

Thursday, 28 June, 12
RE-KOMBINE
                                       Visual editor




                        Reasoner   Domain specific lang.

Thursday, 28 June, 12
Req. Mgmt.   Visual editor
                          Tool




                        Reasoner     DSL editor

Thursday, 28 June, 12
Summary
                   Problem: support agile requirements while
                   still enabling systematically modelling and
                   analysis.
                   Solution: paraconsistent models with
                   reasoning backend.

                   Code and data available at http://github.com/
                   neilernst/Techne-TMS


                                        Neil Ernst: @neilernst • neilernst.net
Thursday, 28 June, 12

Mais conteúdo relacionado

Último

Último (20)

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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Supporting Agile Requirements Evolution via Paraconsistent Reasoning

  • 1. Agile Requirements Evolution via Paraconsistent Reasoning Neil A. Ernst University of British Columbia @neilernst • neil@neilernst.net • neilernst.net with: Alexander Borgida, John Mylopoulos and Ivan Jureta borgida@cs.rutgers.edu, jm@disi.unitn.it, Thursday, 28 June, 12 ijureta@fundp.ac.be
  • 2. page 382 of proceedings Agile Requirements Evolution via Paraconsistent Reasoning Neil A. Ernst University of British Columbia @neilernst • neil@neilernst.net • neilernst.net with: Alexander Borgida, John Mylopoulos and Ivan Jureta borgida@cs.rutgers.edu, jm@disi.unitn.it, Thursday, 28 June, 12 ijureta@fundp.ac.be
  • 3. Takeaway We need agile requirements models — that can still be systematically analysed. Thursday, 28 June, 12
  • 4. Takeaway We need agile requirements models — that can still be systematically analysed. • Motivation Thursday, 28 June, 12
  • 5. Takeaway We need agile requirements models — that can still be systematically analysed. • Motivation • Formal representation of a requirements problem as a knowledge base. Thursday, 28 June, 12
  • 6. Takeaway We need agile requirements models — that can still be systematically analysed. • Motivation • Formal representation of a requirements problem as a knowledge base. • How paraconsistent reasoning helps us support dynamism. Thursday, 28 June, 12
  • 7. Takeaway We need agile requirements models — that can still be systematically analysed. • Motivation • Formal representation of a requirements problem as a knowledge base. • How paraconsistent reasoning helps us support dynamism. • Evaluation, how this works in practice. Thursday, 28 June, 12
  • 8. Agility ... Test Devel. Ops Req time Thursday, 28 June, 12
  • 9. Agility ... Test Devel. Ops Req time Thursday, 28 June, 12
  • 10. Agility ... Test Devel. Ops Req time Thursday, 28 June, 12
  • 11. Agility ... Test Devel. Ops Req time Thursday, 28 June, 12
  • 12. Agility ... Test Devel. Ops Req time Thursday, 28 June, 12
  • 13. Requirements agility is constrained Thursday, 28 June, 12
  • 14. Requirements agility is constrained Let’s add remote login Thursday, 28 June, 12
  • 15. Requirements agility is constrained Let’s add remote login Security hole Thursday, 28 June, 12
  • 16. Requirements agility is constrained Let’s add remote login Security hole How about removing RSA? Thursday, 28 June, 12
  • 17. Requirements agility is constrained Let’s add remote login Security hole How about removing Not back-compatible RSA? Thursday, 28 June, 12
  • 18. Requirements agility is constrained Let’s add remote login Security hole How about removing Not back-compatible RSA? Simplify account mgmt? Thursday, 28 June, 12
  • 19. Requirements agility is constrained Let’s add remote login Security hole How about removing Not back-compatible RSA? Simplify account mgmt? Violates Sarbanes-Oxley Thursday, 28 June, 12
  • 20. Requirements agility is constrained Let’s add remote login Security hole How about removing Not back-compatible RSA? Simplify account mgmt? Violates Sarbanes-Oxley Add COO’s pet feature? Thursday, 28 June, 12
  • 21. Requirements agility is constrained Let’s add remote login Security hole How about removing Not back-compatible RSA? Simplify account mgmt? Violates Sarbanes-Oxley Add COO’s pet feature? CEO hates COO Thursday, 28 June, 12
  • 22. Requirements agility means success Thursday, 28 June, 12
  • 23. Requirements agility means success Thursday, 28 June, 12
  • 24. “[the code] remained operational in Ariane 5 without satisfying any (traceable) requirement.” Thursday, 28 June, 12
  • 26. Command Executions edit.Delete 5.4 M file.Save 4.3 M edit.Paste 3.8 M edit.Copy 2.4 M ContentAssist.proposals 1.4 M Thursday, 28 June, 12
  • 27. Command Executions edit.Delete 5.4 M file.Save 4.3 M edit.Paste 3.8 M edit.Copy 2.4 M ContentAssist.proposals 1.4 M Command Executions window.previousView 9 navigate.Back 69 window.showViewMenu 89 window.previousPerspective 155 window.previousEditor 166 Data: Eclipse UPP, 200908, eclipse.ui, 3.5.0 Thursday, 28 June, 12
  • 29. Requirements problems R R R Thursday, 28 June, 12
  • 30. Requirements problems R R R r r Thursday, 28 June, 12
  • 31. Requirements problems R R R r r T T T T T Thursday, 28 June, 12
  • 32. Requirements problems R R R r r T T T T T Thursday, 28 June, 12
  • 33. Requirements problems R R R r r T T T T T D D Thursday, 28 June, 12
  • 34. Requirements problems R R R r r T T T T T D D Thursday, 28 June, 12
  • 35. Requirements problems R R R r r T T T T T D D Thursday, 28 June, 12
  • 36. Requirements problems R R R r r T T T T T D D Thursday, 28 June, 12
  • 37. Requirements problems R R R r r T T T T T D D Thursday, 28 June, 12
  • 38. Requirements problems R R R r r T T T T T D D Thursday, 28 June, 12
  • 39. Requirements problems R R R Requirements r r Knowledge Base T T T T T D D Thursday, 28 June, 12
  • 40. Paraconsistency Payment Card regs. Thursday, 28 June, 12
  • 41. Formalizing paraconsistency • For the statement ‘requirement A conflicts with requirement B’ write A∧B→⊥ • Inconsistent when bottom (⊥) can be derived • Often more ‘complete’ requirements are less consistent. Thursday, 28 June, 12
  • 42. Why paraconsistency? taken from Nuseibeh et al. 2001 Thursday, 28 June, 12
  • 43. Why paraconsistency? • to facilitate distributed collaborative working (viewpoints), taken from Nuseibeh et al. 2001 Thursday, 28 June, 12
  • 44. Why paraconsistency? • to facilitate distributed collaborative working (viewpoints), • to ensure all stakeholder views are taken into account, taken from Nuseibeh et al. 2001 Thursday, 28 June, 12
  • 45. Why paraconsistency? • to facilitate distributed collaborative working (viewpoints), • to ensure all stakeholder views are taken into account, • to focus attention on problem areas [of the specification], taken from Nuseibeh et al. 2001 Thursday, 28 June, 12
  • 46. Why paraconsistency? • to facilitate distributed collaborative working (viewpoints), • to ensure all stakeholder views are taken into account, • to focus attention on problem areas [of the specification], • to prevent premature commitment to design decisions. taken from Nuseibeh et al. 2001 Thursday, 28 June, 12
  • 47. Why paraconsistency? • to facilitate distributed collaborative working (viewpoints), • to ensure all stakeholder views are taken into account, • to focus attention on problem areas [of the specification], • to prevent premature commitment to design decisions. taken from Nuseibeh et al. 2001 Thursday, 28 June, 12
  • 48. Criteria for paraconsistent satisfaction • Domain assumptions and refinements are consistent. • Desired goals are internally consistent. • Selected tasks are internally consistent. Thursday, 28 June, 12
  • 49. R R R r r T T T T T D D Thursday, 28 June, 12
  • 50. R R R r r T T T T T D D Thursday, 28 June, 12
  • 51. R R R r r T T T T T D D Thursday, 28 June, 12
  • 52. R R R r r T T T T T D D Thursday, 28 June, 12
  • 53. R R R r r T T T T T D D Thursday, 28 June, 12
  • 54. What to do? Thursday, 28 June, 12
  • 55. What to do? 1. Given goals, what minimal sets of tasks satisfy them? (minimal goal achievement) Thursday, 28 June, 12
  • 56. What to do? 1. Given goals, what minimal sets of tasks satisfy them? (minimal goal achievement) 2. Given goals, and minimal task sets, what can we add to expand our consistent solution? (get candidate solutions) Thursday, 28 June, 12
  • 57. What to do? 1. Given goals, what minimal sets of tasks satisfy them? (minimal goal achievement) 2. Given goals, and minimal task sets, what can we add to expand our consistent solution? (get candidate solutions) 3. Other operations: bottom-up reasoning, costs, etc. Thursday, 28 June, 12
  • 58. Minimal Goal Achievement Assign unique ID Use existing h/w Compensating 8.1 prevent control multiple logins Use AS/400 Use SUDO Use Log servers centralized Access ID Thursday, 28 June, 12
  • 59. Minimal Goal Achievement Assign unique ID Use existing h/w Compensating 8.1 prevent control multiple logins Use AS/400 Use SUDO Use Log servers centralized Access ID Thursday, 28 June, 12
  • 60. Minimal Goal Achievement Assign unique ID Use existing h/w Compensating 8.1 prevent control multiple logins Use AS/400 Use SUDO Use Log servers centralized Access ID Thursday, 28 June, 12
  • 61. Assign unique ID Use existing h/w Compensating 8.1 prevent control multiple logins Use AS/400 Use SUDO Use Log servers centralized Access ID Thursday, 28 June, 12
  • 62. Get Candidate Solutions Assign unique ID Use existing h/w Compensating 8.1 prevent control multiple logins Use AS/400 Use SUDO Use Log servers centralized Access ID Thursday, 28 June, 12
  • 63. Get Candidate Solutions Assign unique ID Use existing h/w Compensating 8.1 prevent control multiple logins Use AS/400 Use SUDO Use Log servers centralized Access ID Thursday, 28 June, 12
  • 64. Evaluation and implementation • Implemented reasoner using graphical modeling tool and assumption-based truth maintenance. • Tested tool on 340 requirement Payment Card case study. • Find all solutions in ~600s. • Outperforms (outdated) MinWeightSat reasoner. Thursday, 28 June, 12
  • 65. RE-KOMBINE Visual editor Reasoner Domain specific lang. Thursday, 28 June, 12
  • 66. Req. Mgmt. Visual editor Tool Reasoner DSL editor Thursday, 28 June, 12
  • 67. Summary Problem: support agile requirements while still enabling systematically modelling and analysis. Solution: paraconsistent models with reasoning backend. Code and data available at http://github.com/ neilernst/Techne-TMS Neil Ernst: @neilernst • neilernst.net Thursday, 28 June, 12