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
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)
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…