by Hervé Albin-amiot, Yann-gaël Guéhéneuc
http://www.yann-gael.gueheneuc.net/Work/Publications/Documents/ECOOP01PHDOOS.doc.pdf
Add To MetaCart
Abstract:
Design patterns are of major interest to increase software quality and abstraction level. However, design patterns are difficult to choose, to apply, and to recover. We propose a set of tools to use design patterns in a round-trip fashion. We define a meta-model to describe design patterns. This meta-model is specifically oriented towards design patterns instantiation and detection. We develop a source-to-source transformation engine to modify the source code to comply with design patterns descriptions. Meanwhile, we use an explanationbased constraint solver to detect design patterns in source code from their descriptions. With these tools, we hope to offer a mean to apply and to recover design patterns without overhead for the developers. ∗This work is partly funded by Soft-Maint – 4, rue du Château de l ’ Éraudière – 44 324 Nantes –
Citations
|
85
|
Recognizing a Program’s Design: A Graph-Parsing Approach
– Rich, Wills
- 1990
|
|
83
|
Declarative reasoning about the structure of object-oriented systems
– Wuyts
- 1998
|
|
82
|
Tool support for object-oriented patterns
– Florijn, Meijers, et al.
- 1997
|
|
64
|
Prechelt: Design Recovery by Automated Search for Structural Design
– Krämer, L
|
|
54
|
Bunch: a clustering tool for the recovery and maintenance of software system structures
– Mancoridis, Mitchell, et al.
- 1999
|
|
51
|
Design reverse-engineering and automated design pattern detection in smalltalk
– Brown
- 1996
|
|
51
|
Recovering high-level views of object-oriented applications from static and dynamic information
– Richner, Ducasse
- 1999
|
|
46
|
The PaLM system: explanation-based constraint programming
– Jussien, Barichard
|
|
27
|
Design pattern recovery in object-oriented software
– Antoniol, Fiutem, et al.
- 1998
|
|
25
|
A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions. Accepted for
– Prechelt, Unger, et al.
|
|
21
|
Javassist—a reflection-based programming wizard for Java
– Chiba
|
|
18
|
Programming Support of Design Patterns with CompileTime Reflection
– Tatsubori, Chiba
- 1998
|
|
12
|
A unified object topology
– Tepfenhart, Cusick
- 1997
|
|
11
|
Towards pattern-based tools
– Pagel, Winter
- 1996
|
|
7
|
Automating Design-Pattern Identification
– Bansiya
- 1998
|
|
7
|
Reevaluating the Architectural Metaphor: Toward Piecemeal Growth
– Coplien
- 1999
|
|
5
|
Inferred designs
– Perrochon, Mann
- 1999
|
|
3
|
Alain Le Guennec, and Jean-Marc Jézéquel. Using UML action semantics for model execution and transformation
– Sunyé
- 2002
|
|
3
|
Implementing Patterns, chapter 20
– Soukup
- 1995
|
|
3
|
Aiji Tokuda. Evolving Object-Oriented Designs with Refactorings
– Lance
- 1999
|
|
2
|
Object-Oriented Design with Applications. Number 0-805-30091-0
– Booch
- 1991
|
|
1
|
Human factors – pruning your programs’ unused functions
– Potosnak
- 1990
|
|
1
|
Rapicault and Mireille Fornarino. Instanciation et vérification de patterns de conception : Un méta-protocole
– Pascal
- 2000
|