SlideShare a Scribd company logo
1 of 20
Download to read offline
Ptidej in my PaLM

  Using explanations for
design patterns identification
Us
     Æ   Yann-Gaël Guéhéneuc
         n 2nd year PhD student
         n Object Models and Components Team
         n Partly funded by Object Technology International, Inc.
           (Canada)

     Æ   Narendra Jussien
         n Assistant Professor
         n Constraint Programming Team


     Æ   Research hosted by the
         École des Mines de Nantes
Long-term goal

n Toimprove the quality of software
 architecture
  – To improve flexibility, understandability, …
  – Maintenance = 75% of the life of a software
n Design   patterns
  « Describe simple and elegant solutions to specific
    architectural problems in OO software design »
  – Experience of skillful developers
  – Recurrent architectural problems
sic       Composite
A Ba xample :
     E        pattern solution




Composite composes objects into tree structures to
represent part-whole hierarchies. It lets clients treat
individual objects and compositions of objects uniformly.
Main ideas

n Design patterns are good micro-
 architectural solutions

n Micro-architectures
                    close to a design
 pattern solution may be improved

n Theseare transformed into the
 corresponding design pattern solution
Problem

n To   identify
  – The Use of a design pattern solution
       • Well written code
       • Notion of complete version
  – The Misuse of a design pattern solution
       • Code improvement
       • Notion of distorted version
       + No up-front descriptions of the distortions
ic
A Bas xample : Problem
     E
                Complete and
                distorted versions?
Complete and distorted versions

n Related   works
  – The search of sub-graphs in a graph
  – The phase of adaptation in case-based
    reasoning
n But we need complete and distorted
  versions
Æ Explanation-based CP (eCP)
Solution

n Explanation-based       CP enables
  – Justifications
     • Programming = « artistic » activity
     • Explain why / how the code is modified
  – Complete and distorted versions
  – Strong interactivity with the user
     • Dynamic description of the distortions
Explanation-based CP                1/3

n Setof constraints justifying an
 action performed by the solver
  – Value removal
  – Contradiction


n Trace   of the solver behavior
Explanation-based CP            2/3

n Application
  – Assistance upon failure
  – Interactive solvers
  – New search algorithms
    • Path-repair (AAAI 2000)
    • Mac-DBT (CP 2000)
    •…
Explanation-based CP               3/3

n An   implementation: PaLM
  – Developed at the EMN
  – On top of Choco
  – Written in Claire

  – Used in Path-Repair, Mac-DBT
  – Reliable and efficient
Our application

n The   design pattern solution
  – A class defines a variable
  – Relationships among classes define
    constraints
n The   source code of the application
  – The classes define the domain of the
    variables
  – Relationships among classes give the
    semantics of the constraints
ic
A Bas xample : Constraints
     E
n The    Composite design pattern solution




n Its   constraints
            composite < component
            leaf < component
            composite ⊃ component
ic
A Bas xample : Interaction
     E

 composite < component
 leaf < component
 composite ⊃ component
ic
A Bas xample : Results
     E
Our results                                   1/3

n Implementation
  – Constraints
    • Inheritance, creation, composition, …
  – Design pattern solutions
    • Composite, Façade, Factory Method, …
n Experiments
  – Small test-cases
  – JEdit v3.1 (~250 classes), JHotDraw v5.1
    (~155 classes), Ptidej itself (!), …
Our results   2/3
Our results   3/3
Conclusion and future

n An   application of explanation-based CP
  – Non-trivial problem
n Short   term
  – To add more design pattern solutions
  – To develop the constraints system
       • New algorithm CSP-NN [Morning session]
  – Scalability and weights (noise)
n Long    term
  – automation and interaction (usability)

More Related Content

What's hot

Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations research
smumbahelp
 
Linear programming
Linear programmingLinear programming
Linear programming
Sabesan Khan
 

What's hot (14)

Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations research
 
Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations research
 
Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations research
 
Mb0048 operations research
Mb0048  operations researchMb0048  operations research
Mb0048 operations research
 
Building Continuous Learning Systems
Building Continuous Learning SystemsBuilding Continuous Learning Systems
Building Continuous Learning Systems
 
Algorithm and vlsi architecture design of proportionate type lms adaptive fil...
Algorithm and vlsi architecture design of proportionate type lms adaptive fil...Algorithm and vlsi architecture design of proportionate type lms adaptive fil...
Algorithm and vlsi architecture design of proportionate type lms adaptive fil...
 
Software Design Principles and Best Practices - Satyajit Dey
Software Design Principles and Best Practices - Satyajit DeySoftware Design Principles and Best Practices - Satyajit Dey
Software Design Principles and Best Practices - Satyajit Dey
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to Task
 
Linear programming
Linear programmingLinear programming
Linear programming
 
Electra
ElectraElectra
Electra
 
Flowcharts and pseudocodes
Flowcharts and pseudocodesFlowcharts and pseudocodes
Flowcharts and pseudocodes
 
Se 381 - lec 22 - 24 - 12 may15 - modularity - i - coupling
Se 381 - lec 22 - 24  - 12 may15 - modularity - i - couplingSe 381 - lec 22 - 24  - 12 may15 - modularity - i - coupling
Se 381 - lec 22 - 24 - 12 may15 - modularity - i - coupling
 
Tbs910 linear programming
Tbs910 linear programmingTbs910 linear programming
Tbs910 linear programming
 

Similar to IJCAI01 MSPC.ppt

Why computer programming
Why computer programmingWhy computer programming
Why computer programming
TUOS-Sam
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16
Kumar
 
Unit iii-111206004501-phpapp02
Unit iii-111206004501-phpapp02Unit iii-111206004501-phpapp02
Unit iii-111206004501-phpapp02
riddhi viradiya
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
inside-BigData.com
 

Similar to IJCAI01 MSPC.ppt (20)

Ijcai01 mspc.ppt
Ijcai01 mspc.pptIjcai01 mspc.ppt
Ijcai01 mspc.ppt
 
Toolsusa01.ppt
Toolsusa01.pptToolsusa01.ppt
Toolsusa01.ppt
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
ViT (Vision Transformer) Review [CDM]
ViT (Vision Transformer) Review [CDM]ViT (Vision Transformer) Review [CDM]
ViT (Vision Transformer) Review [CDM]
 
TOOLS USA01.ppt
TOOLS USA01.pptTOOLS USA01.ppt
TOOLS USA01.ppt
 
Compressing Graphs and Indexes with Recursive Graph Bisection
Compressing Graphs and Indexes with Recursive Graph Bisection Compressing Graphs and Indexes with Recursive Graph Bisection
Compressing Graphs and Indexes with Recursive Graph Bisection
 
Why computer programming
Why computer programmingWhy computer programming
Why computer programming
 
Dynamic programming prasintation eaisy
Dynamic programming prasintation eaisyDynamic programming prasintation eaisy
Dynamic programming prasintation eaisy
 
Dynamic programming class 16
Dynamic programming class 16Dynamic programming class 16
Dynamic programming class 16
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methods
 
Use CNN for Sequence Modeling
Use CNN for Sequence ModelingUse CNN for Sequence Modeling
Use CNN for Sequence Modeling
 
030325+seminar+scg+iam.ppt
030325+seminar+scg+iam.ppt030325+seminar+scg+iam.ppt
030325+seminar+scg+iam.ppt
 
Thesis Giani UIC Slides EN
Thesis Giani UIC Slides ENThesis Giani UIC Slides EN
Thesis Giani UIC Slides EN
 
Unit iii-111206004501-phpapp02
Unit iii-111206004501-phpapp02Unit iii-111206004501-phpapp02
Unit iii-111206004501-phpapp02
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
Designing Object Oriented Software - lecture slides 2013
Designing Object Oriented Software - lecture slides 2013Designing Object Oriented Software - lecture slides 2013
Designing Object Oriented Software - lecture slides 2013
 
Developing Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software SystemsDeveloping Tools for “What if…” Testing of Large-scale Software Systems
Developing Tools for “What if…” Testing of Large-scale Software Systems
 
PROBLEM SOLVING TECHNIQUES
PROBLEM SOLVING TECHNIQUESPROBLEM SOLVING TECHNIQUES
PROBLEM SOLVING TECHNIQUES
 
What to do as simulation expert
What to do as simulation expertWhat to do as simulation expert
What to do as simulation expert
 
Do you think OOP when writing topics?
Do you think OOP when writing topics?Do you think OOP when writing topics?
Do you think OOP when writing topics?
 

More from Ptidej Team

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

+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@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
+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...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
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, ...
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

IJCAI01 MSPC.ppt

  • 1. Ptidej in my PaLM Using explanations for design patterns identification
  • 2. Us Æ Yann-Gaël Guéhéneuc n 2nd year PhD student n Object Models and Components Team n Partly funded by Object Technology International, Inc. (Canada) Æ Narendra Jussien n Assistant Professor n Constraint Programming Team Æ Research hosted by the École des Mines de Nantes
  • 3. Long-term goal n Toimprove the quality of software architecture – To improve flexibility, understandability, … – Maintenance = 75% of the life of a software n Design patterns « Describe simple and elegant solutions to specific architectural problems in OO software design » – Experience of skillful developers – Recurrent architectural problems
  • 4. sic Composite A Ba xample : E pattern solution Composite composes objects into tree structures to represent part-whole hierarchies. It lets clients treat individual objects and compositions of objects uniformly.
  • 5. Main ideas n Design patterns are good micro- architectural solutions n Micro-architectures close to a design pattern solution may be improved n Theseare transformed into the corresponding design pattern solution
  • 6. Problem n To identify – The Use of a design pattern solution • Well written code • Notion of complete version – The Misuse of a design pattern solution • Code improvement • Notion of distorted version + No up-front descriptions of the distortions
  • 7. ic A Bas xample : Problem E Complete and distorted versions?
  • 8. Complete and distorted versions n Related works – The search of sub-graphs in a graph – The phase of adaptation in case-based reasoning n But we need complete and distorted versions Æ Explanation-based CP (eCP)
  • 9. Solution n Explanation-based CP enables – Justifications • Programming = « artistic » activity • Explain why / how the code is modified – Complete and distorted versions – Strong interactivity with the user • Dynamic description of the distortions
  • 10. Explanation-based CP 1/3 n Setof constraints justifying an action performed by the solver – Value removal – Contradiction n Trace of the solver behavior
  • 11. Explanation-based CP 2/3 n Application – Assistance upon failure – Interactive solvers – New search algorithms • Path-repair (AAAI 2000) • Mac-DBT (CP 2000) •…
  • 12. Explanation-based CP 3/3 n An implementation: PaLM – Developed at the EMN – On top of Choco – Written in Claire – Used in Path-Repair, Mac-DBT – Reliable and efficient
  • 13. Our application n The design pattern solution – A class defines a variable – Relationships among classes define constraints n The source code of the application – The classes define the domain of the variables – Relationships among classes give the semantics of the constraints
  • 14. ic A Bas xample : Constraints E n The Composite design pattern solution n Its constraints composite < component leaf < component composite ⊃ component
  • 15. ic A Bas xample : Interaction E composite < component leaf < component composite ⊃ component
  • 16. ic A Bas xample : Results E
  • 17. Our results 1/3 n Implementation – Constraints • Inheritance, creation, composition, … – Design pattern solutions • Composite, Façade, Factory Method, … n Experiments – Small test-cases – JEdit v3.1 (~250 classes), JHotDraw v5.1 (~155 classes), Ptidej itself (!), …
  • 18. Our results 2/3
  • 19. Our results 3/3
  • 20. Conclusion and future n An application of explanation-based CP – Non-trivial problem n Short term – To add more design pattern solutions – To develop the constraints system • New algorithm CSP-NN [Morning session] – Scalability and weights (noise) n Long term – automation and interaction (usability)