ECOOP05 BSUP.ppt

Post on 24-Jun-2015

79 views 0 download

Tags:

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