Top Banner
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 1 st ECOOP Workshop on Building Systems using Patterns Glasgow, Scotland 2005/07/26
16
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: ECOOP05 BSUP.ppt

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

3/16

The Ptidej project (2/2)n

UI a

nd ty

pica

l use

Page 4: ECOOP05 BSUP.ppt

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

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

6/16

Design (1/2)

n Use of design patterns– Abstract Factory– Builder– Composite – Observer– Visitor

Page 7: ECOOP05 BSUP.ppt

7/16

Design (2/2)

n Use of design patterns– Abstract Factory– Builder– Composite– Observer– Strategy

Page 8: ECOOP05 BSUP.ppt

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

9/16

Discussions (1/7)

n Claims on patterns?– Flexibility– Reusability– Understandability

from the software engineers’ viewpoints

– Understandability?

Page 10: ECOOP05 BSUP.ppt

10/16

Discussions (2/7)

n System of patterns?– Collaborations of patterns without

conflicting intents and implementations

– Formalisations?

Page 11: ECOOP05 BSUP.ppt

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

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

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

14/16

Discussions (6/7)

– DPTutor by Olivier Motelet?

Page 15: ECOOP05 BSUP.ppt

15/16

Discussions (7/7)

n Integrating patterns with traditional development cycles?– Reverse-engineering– Refactorings

– Seamless integration?

Page 16: ECOOP05 BSUP.ppt

16/16

Position

n Terminologyn Formalisation

– Choice– Selection– Systems

n Identificationn Implementation/integration