ECOOP05 BSUP.ppt
-
Upload
ptidej-team -
Category
Technology
-
view
79 -
download
0
Transcript of ECOOP05 BSUP.ppt
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
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)n
UI a
nd ty
pica
l use
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)
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 languagen Language of programmingn Formattingn Commentingn Namingn Importsn Variables, parameters declarationsn Qualificationn final keywordn Iterator design patternn 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 Terminologyn Formalisation
– Choice– Selection– Systems
n Identificationn Implementation/integration