SlideShare a Scribd company logo
1 of 16
Download to read offline
Yann-Gaël Guéhéneuc
© Guéhéneuc 2005
Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns
Group of Open, Distributed Systems, Experimental Software Engineering
Department of Informatics and Operations Research
University of Montreal
GEODES
Ptidej: Promoting
Patterns with Patterns
1st ECOOP Workshop on Building Systems using Patterns
Glasgow, Scotland
2005/07/26
2/16
The Ptidej project (1/2)
n Tool suite to evaluate and to enhance
the quality of OO programs
n Promotion of patterns, at language-,
design-, and architectural-levels
n In particular
– A meta-model to describe programs,
design motifs (solutions of patterns)
– An explanation-based constraint solver to
identify micro-architectures
3/16
The Ptidej project (2/2)
nUIandtypicaluse
4/16
The Ptidej tool suite
n A meta-model, PADL
n A library of models of design motifs
n Parsers for AOL, AspectJ, C++, Java
n A library of metrics, POM
n A library of generators and analyses
n An explanation-based constraint solver, JPtidejSolver
n A dynamic analyser for Java, Caffeine
n A library of graphic widgets, Ptidej UI
n Several user-interfaces, Ptidej UI Viewers (including
a new Swing-based interface)
5/16
Architecture
n Layered architecture
– Ptidej UI Viewers (Applet, AWT, Swing, Eclipse)
– Ptidej UI Viewer and Ptidej UI Viewer Extensions
– Ptidej UI Primitives (AWT, SWT)
– Ptidej UI
– PADL Creators (AOL, AspectJ, C++, Java), PADL
Analyses and POM
– PADL
– CPL
6/16
Design (1/2)
n Use of design patterns
– Abstract Factory
– Builder
– Composite
– Observer
– Visitor
7/16
Design (2/2)
n Use of design patterns
– Abstract Factory
– Builder
– Composite
– Observer
– Strategy
8/16
Idioms
n Programming language
n Language of programming
n Formatting
n Commenting
n Naming
n Imports
n Variables, parameters declarations
n Qualification
n final keyword
n Iterator design pattern
n finally keyword
n Stricter compilation rules
9/16
Discussions (1/7)
n Claims on patterns?
– Flexibility
– Reusability
– Understandability
from the software engineers’ viewpoints
– Understandability?
10/16
Discussions (2/7)
n System of patterns?
– Collaborations of patterns without
conflicting intents and implementations
– Formalisations?
11/16
Discussions (3/7)
n Composition of patterns?
– Possibility of composition
– Flexibility
– Reusability
– Understandability
of the resulting compositions
– Akin to systems of patterns?
12/16
Discussions (4/7)
n Choice of patterns?
– Piecemeal growth
– Needs, maintenance
– Knowledge of existing patterns?
– Akin to formalisations?
13/16
Discussions (5/7)
n Building a system of patterns?
– Piecemeal growth
– Needs, maintenance
– Akin to choice of patterns?
– DPTutor by Olivier Motelet…
14/16
Discussions (6/7)
– DPTutor by Olivier Motelet?
15/16
Discussions (7/7)
n Integrating patterns with traditional
development cycles?
– Reverse-engineering
– Refactorings
– Seamless integration?
16/16
Position
n Terminology
n Formalisation
– Choice
– Selection
– Systems
n Identification
n Implementation/integration

More Related Content

Similar to Ecoop05 bsup.ppt

ECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.pptECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.ppt
Ptidej Team
 

Similar to Ecoop05 bsup.ppt (20)

010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
Towards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle SoftwareTowards Design-space Exploration of Component Chains in Vehicle Software
Towards Design-space Exploration of Component Chains in Vehicle Software
 
Ase01.ppt
Ase01.pptAse01.ppt
Ase01.ppt
 
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
 
Toolsusa01.ppt
Toolsusa01.pptToolsusa01.ppt
Toolsusa01.ppt
 
Software Development for Processionals.ppt
Software Development for Processionals.pptSoftware Development for Processionals.ppt
Software Development for Processionals.ppt
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
 
Ecoop05 qaoos ea.ppt
Ecoop05 qaoos ea.pptEcoop05 qaoos ea.ppt
Ecoop05 qaoos ea.ppt
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
Real-Time Metamodeling in the Web Browser
Real-Time Metamodeling in the Web BrowserReal-Time Metamodeling in the Web Browser
Real-Time Metamodeling in the Web Browser
 
Icsm19.ppt
Icsm19.pptIcsm19.ppt
Icsm19.ppt
 
Model-driven Design-Runtime Interaction in Safety Critical System Development...
Model-driven Design-Runtime Interaction in Safety Critical System Development...Model-driven Design-Runtime Interaction in Safety Critical System Development...
Model-driven Design-Runtime Interaction in Safety Critical System Development...
 
Ecoop05 qaoos eb.ppt
Ecoop05 qaoos eb.pptEcoop05 qaoos eb.ppt
Ecoop05 qaoos eb.ppt
 
Software recycling
Software recyclingSoftware recycling
Software recycling
 
ASE01.ppt
ASE01.pptASE01.ppt
ASE01.ppt
 
ECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.pptECOOP05 QAOOSEa.ppt
ECOOP05 QAOOSEa.ppt
 
resume
resumeresume
resume
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Interoperability of Meta-Modeling Tools
Interoperability of Meta-Modeling ToolsInteroperability of Meta-Modeling Tools
Interoperability of Meta-Modeling Tools
 

More from Yann-Gaël Guéhéneuc

Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Ecoop05 bsup.ppt

  • 1. Yann-Gaël Guéhéneuc © Guéhéneuc 2005 Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns Group of Open, Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal GEODES Ptidej: Promoting Patterns with Patterns 1st ECOOP Workshop on Building Systems using Patterns Glasgow, Scotland 2005/07/26
  • 2. 2/16 The Ptidej project (1/2) n Tool suite to evaluate and to enhance the quality of OO programs n Promotion of patterns, at language-, design-, and architectural-levels n In particular – A meta-model to describe programs, design motifs (solutions of patterns) – An explanation-based constraint solver to identify micro-architectures
  • 3. 3/16 The Ptidej project (2/2) nUIandtypicaluse
  • 4. 4/16 The Ptidej tool suite n A meta-model, PADL n A library of models of design motifs n Parsers for AOL, AspectJ, C++, Java n A library of metrics, POM n A library of generators and analyses n An explanation-based constraint solver, JPtidejSolver n A dynamic analyser for Java, Caffeine n A library of graphic widgets, Ptidej UI n Several user-interfaces, Ptidej UI Viewers (including a new Swing-based interface)
  • 5. 5/16 Architecture n Layered architecture – Ptidej UI Viewers (Applet, AWT, Swing, Eclipse) – Ptidej UI Viewer and Ptidej UI Viewer Extensions – Ptidej UI Primitives (AWT, SWT) – Ptidej UI – PADL Creators (AOL, AspectJ, C++, Java), PADL Analyses and POM – PADL – CPL
  • 6. 6/16 Design (1/2) n Use of design patterns – Abstract Factory – Builder – Composite – Observer – Visitor
  • 7. 7/16 Design (2/2) n Use of design patterns – Abstract Factory – Builder – Composite – Observer – Strategy
  • 8. 8/16 Idioms n Programming language n Language of programming n Formatting n Commenting n Naming n Imports n Variables, parameters declarations n Qualification n final keyword n Iterator design pattern n finally keyword n Stricter compilation rules
  • 9. 9/16 Discussions (1/7) n Claims on patterns? – Flexibility – Reusability – Understandability from the software engineers’ viewpoints – Understandability?
  • 10. 10/16 Discussions (2/7) n System of patterns? – Collaborations of patterns without conflicting intents and implementations – Formalisations?
  • 11. 11/16 Discussions (3/7) n Composition of patterns? – Possibility of composition – Flexibility – Reusability – Understandability of the resulting compositions – Akin to systems of patterns?
  • 12. 12/16 Discussions (4/7) n Choice of patterns? – Piecemeal growth – Needs, maintenance – Knowledge of existing patterns? – Akin to formalisations?
  • 13. 13/16 Discussions (5/7) n Building a system of patterns? – Piecemeal growth – Needs, maintenance – Akin to choice of patterns? – DPTutor by Olivier Motelet…
  • 14. 14/16 Discussions (6/7) – DPTutor by Olivier Motelet?
  • 15. 15/16 Discussions (7/7) n Integrating patterns with traditional development cycles? – Reverse-engineering – Refactorings – Seamless integration?
  • 16. 16/16 Position n Terminology n Formalisation – Choice – Selection – Systems n Identification n Implementation/integration