ecoop05 bsup.ppt
TRANSCRIPT
![Page 1: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/1.jpg)
Yann-Gaël Guéhéneuc
© Guéhéneuc 2005
Ptidej Team – OO Programs Quality Evaluation and Enhancement using PatternsGroup of Open, Distributed Systems, Experimental Software EngineeringDepartment of Informatics and Operations ResearchUniversity of Montreal
GEODES
Ptidej: Promoting Patterns with Patterns
1st ECOOP Workshop on Building Systems using PatternsGlasgow, Scotland
2005/07/26
![Page 2: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/2.jpg)
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
![Page 3: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/3.jpg)
3/16
The Ptidej project (2/2)n
UI a
nd ty
pica
l use
![Page 4: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/4.jpg)
4/16
The Ptidej tool suite
n A meta-model, PADLn A library of models of design motifsn Parsers for AOL, AspectJ, C++, Javan A library of metrics, POMn A library of generators and analysesn An explanation-based constraint solver, JPtidejSolvern A dynamic analyser for Java, Caffeinen A library of graphic widgets, Ptidej UIn Several user-interfaces, Ptidej UI Viewers (including
a new Swing-based interface)
![Page 5: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/5.jpg)
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
![Page 6: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/6.jpg)
6/16
Design (1/2)
n Use of design patterns– Abstract Factory– Builder– Composite – Observer– Visitor
![Page 7: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/7.jpg)
7/16
Design (2/2)
n Use of design patterns– Abstract Factory– Builder– Composite– Observer– Strategy
![Page 8: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/8.jpg)
8/16
Idioms
n Programming languagen Language of programmingn Formattingn Commentingn Namingn Importsn Variables, parameters declarationsn Qualificationn final keywordn Iterator design patternn finally keyword
n Stricter compilation rules
![Page 9: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/9.jpg)
9/16
Discussions (1/7)
n Claims on patterns?– Flexibility– Reusability– Understandability
from the software engineers’ viewpoints
– Understandability?
![Page 10: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/10.jpg)
10/16
Discussions (2/7)
n System of patterns?– Collaborations of patterns without
conflicting intents and implementations
– Formalisations?
![Page 11: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/11.jpg)
11/16
Discussions (3/7)
n Composition of patterns?– Possibility of composition– Flexibility– Reusability– Understandability
of the resulting compositions
– Akin to systems of patterns?
![Page 12: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/12.jpg)
12/16
Discussions (4/7)
n Choice of patterns?– Piecemeal growth– Needs, maintenance
– Knowledge of existing patterns?– Akin to formalisations?
![Page 13: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/13.jpg)
13/16
Discussions (5/7)
n Building a system of patterns?– Piecemeal growth– Needs, maintenance
– Akin to choice of patterns?– DPTutor by Olivier Motelet…
![Page 14: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/14.jpg)
14/16
Discussions (6/7)
– DPTutor by Olivier Motelet?
![Page 15: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/15.jpg)
15/16
Discussions (7/7)
n Integrating patterns with traditional development cycles?– Reverse-engineering– Refactorings
– Seamless integration?
![Page 16: ECOOP05 BSUP.ppt](https://reader035.vdocuments.mx/reader035/viewer/2022081404/558a4c01d8b42a69128b45a7/html5/thumbnails/16.jpg)
16/16
Position
n Terminologyn Formalisation
– Choice– Selection– Systems
n Identificationn Implementation/integration