1. Les environnements de gestion automatises des patrons
de conception
Etude du systeme PTIDEJ
FERRAND Anthony NELAUPE Lucas
TRAN Quang Dung VERDIER Frederic
Universite Montpellier II
17 septembre 2014
1/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 1 /
2. Introduction
Sommaire
1 Introduction
Problematique
2 Etat de l'art
Mesure de la qualite d'un patron
Patrons de conception et les outils pour leur tracabilite
3 Focus sur le logiciel PTIDEJ
Modelisation d'un programme par PTIDEJ
Mesure de la qualite d'un programme
Detection d'un patron de conception
4 Notre contribution a PTIDEJ
Le patron Bridge
Creation du probleme et des entites
Contrainte de nature d'une entite
Contraintes de relation entre entites
5 Conclusion
Critiques
Nos perspectives
2/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 2 /
3. Introduction
Introduction
Patron de conception :
Design patterns are descriptions of communicating objects and
classes that are customized to solve a general design problem in a
particular context.
[Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four ),
Design Patterns : Elements of Reusable Object-Oriented Softwares,
1994]
Bref historique
Invention de la notion de patrons de conception dans le domaine de
l'Architecture [Christopher Alexander, Sara Ishikawa, Murray Silverstein, A
Pattern Language : Towns, Buildings, Construction, 1977]
Premier papier de recherche a propos de l'utilisation de patrons de conception
en langage oriente objets [Kent Beck, Ward Cunningham, Using Pattern
Languages for Object-Oriented Programs, 1987]
3/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 3 /
4. Introduction Problematique
Figure: Diagramme UML d'un programme
4/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 4 /
5. Introduction Problematique
Figure: Diagramme UML d'un programme incluant le pattern State
5/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 5 /
6. Introduction Problematique
Notre problematique
Chercher des solutions existantes pour gerer les patrons de conceptions.
Detection des patrons de conceptions dans un programme.
Generation de code squelette des patrons de conceptions.
6/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 6 /
7. Introduction Problematique
Solutions logicielles existantes
Rational Software Architect[RSA] (IBM) et Modelio (Modeliosoft)
Genere le code et les diagrammes de classes UML issus de patrons de
conceptions.
Le logiciel PTIDEJ
Solution ecace pour la detection des patrons de conceptions dans un
programme.
Mis a notre disposition.
7/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 7 /
8. Introduction Problematique
Sommaire
1 Introduction
Problematique
2 Etat de l'art
Mesure de la qualite d'un patron
Patrons de conception et les outils pour leur tracabilite
3 Focus sur le logiciel PTIDEJ
Modelisation d'un programme par PTIDEJ
Mesure de la qualite d'un programme
Detection d'un patron de conception
4 Notre contribution a PTIDEJ
Le patron Bridge
Creation du probleme et des entites
Contrainte de nature d'une entite
Contraintes de relation entre entites
5 Conclusion
Critiques
Nos perspectives
8/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 8 /
9. Etat de l'art
Sommaire
1 Introduction
Problematique
2 Etat de l'art
Mesure de la qualite d'un patron
Patrons de conception et les outils pour leur tracabilite
3 Focus sur le logiciel PTIDEJ
Modelisation d'un programme par PTIDEJ
Mesure de la qualite d'un programme
Detection d'un patron de conception
4 Notre contribution a PTIDEJ
Le patron Bridge
Creation du probleme et des entites
Contrainte de nature d'une entite
Contraintes de relation entre entites
5 Conclusion
Critiques
Nos perspectives
9/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 9 /
10. Etat de l'art Mesure de la qualite d'un patron
Mesure de la qualite d'un patrons
De
11. nitions :
Qualite d'un programme : Appreciation globale d'un programme.
Critere de qualite : Caracteristique liee a la qualite que l'on peut donner a un
programme.
Enjeux :
Conna^tre les impacts de l'utilisation d'un patron permet de de
12. nir une
strategie de developpement.
Anticiper les limitations d'un programme lors de sa conception.
10/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 10
13. Etat de l'art Mesure de la qualite d'un patron
Exemples de criteres de qualite
Conception
Extensibilite
Simplicite (Comprendre le patron implemente)
Reutilisabilite (Possibilite de l'inclure dans un autre patron)
Implementation
Comprendre le code source
Modularite (fonctions independantes)
Execution
Fonctions d'executions independantes
Portabilite (utilisable sur plusieurs con
14. gurations de machines)
Robustesse
11/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 11
15. Etat de l'art Mesure de la qualite d'un patron
Mesure de la qualite d'un patron
Plusieurs approches possibles
Par sondage des developpeurs (qualitative) [Foutse Khomh, Patterns and
quality of Object-oriented Software Systems, 2010]
Utilisant des metriques (quantitative) [Carl G. Davis, Jagdish Bansiya - A
Hierarchical Model for Object-Oriented Design Quality Assessment, 2002]
12/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 12
16. Etat de l'art Mesure de la qualite d'un patron
Mesure de la qualite d'un patron : Methode par sondage
Figure: Extrait du sondage envoye aux inscrit sur la liste de diusion du Gang of Four
[Foutse Khomh, Patterns and quality of Object-oriented Software Systems, 2010]
13/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 13
17. Etat de l'art Mesure de la qualite d'un patron
Extrait du resultat du sondage precedent avec la
comparaison de trois patrons
Impact negatif
Personnes ayant
repondu l'inverse
Estimation de l'impact de ces trois patrons de conception sur des attributs de qualite
[Foutse Khomh, Patterns and quality of Object-oriented Software Systems, 2010]
14/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 14
18. Etat de l'art Mesure de la qualite d'un patron
Etude du resultat du sondage avec Abstract Factory
Figure: Extrait du tableau de resultat du sondage et diagramme UML de A. Factory
15/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 15
19. Etat de l'art Mesure de la qualite d'un patron
Etude du resultat du sondage avec Poids-mouche
Figure: Extrait du tableau de resultat du sondage et diagramme UML de Poids-mouche
16/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 16
20. Etat de l'art Mesure de la qualite d'un patron
Autre approche : utiliser des metriques
Figure: Calculs permettant l'evaluation
21. nale de la qualite d'un programme en fonction
des criteres de qualite. [Carl G. Davis, Jagdish Bansiya - A Hierarchical Model for
Object-Oriented Design Quality Assessment, 2002]
17/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 17
22. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Patrons de conception et les outils pour leur tracabilite
Tracabilite d'un patron de conception :
Possibilite d'identi
23. er dans un programme les elements correspondant a des
patrons de conception, et de generer du code a partir de motifs de conception.
Enjeux : Aider un mainteneur a comprendre un programme.
18/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 18
24. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Dicultes a surmonter
Les dicultes ne concernent que la detection des patrons de conception dans un
programme. La generation de code n'est pas un probleme.
Il existe une in
25. nite d'implementations possibles pour un patron de
conception.
Certains programmes implementent des variantes plus ou moins eloignees du
schema original.
Diagramme de classes de Composite (a gauche) et d'une variantes (a droite).
19/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 19
26. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Techniques existantes
Nous avons trouve 19 techniques permettant l'identi
27. cation de patrons de
conception produites entre 1998 et 2009.
Par identi
28. cation de restrictions [Marcel Birkner, Objected-oriented design
pattern detection using static and dynamic analysis in java software,
2007]
Utilisant des matrices de similitudes [Jakubk Jaroslav, Extension for Design
Pattern Identi
29. cation Using Similarity Scoring Algorithm, 2009]
...
20/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 20
30. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Liste des techniques produites avant 2007 [Jing Dong, Yajing Zhao, Tu Peng,
Architecture and Design Pattern Discovery Techniques - A Review]
21/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 21
31. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Approche utilisant des matrices de similitudes
Solution decrite dans [N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, S.
Halkidis, Design Pattern Detection Using Similarity Scoring, IEEE
transaction on software engineering, Vol. 32, 2006] et etendue dans [Jakubk
Jaroslav, Extension for Design Pattern Identi
32. cation Using Similarity
Scoring Algorithm, 2009].
Solution :
Relever des caracteristiques d'architecture et d'execution du programme par
classe et les enregistrer dans des matrices, une pour chaque caracteristique.
Pour chaque caracteristique, comparer la matrice obtenue par analyse du
programme avec celle correspondant au patron de conception souhaite
donnant une matrice de similitude.
22/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 22
33. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Extension de l'approche utilisant des matrices de
similitudes
Extension : Raner la detection par :
l'utilisation de poids pour donner de l'importance a certaines caracteristiques
analysees dans un programme.
analyse lexicographique du code (veri
34. cation du sens d'un nom de classe...)
Point fort : detecte les variantes de patrons de conception car la detection est
axee plus sur le r^ole des composants du programme plut^ot que l'architecture
du code.
Faiblesses : complexite et consommation memoire elevees
Utilisation X matrices MxN (ou X est le nombre de fonctionnalites, M le
nombre de classes du programme et N le nombre de classes du patron).
Analyse des similitudes combinatoire : il faut veri
35. er la similitude de chaque
combinaison de classes possibles dans le programme.
23/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 23
36. Etat de l'art Patrons de conception et les outils pour leur tracabilite
Approche utilisant la programmation par contraintes avec
explications
Solution decrite dans la these [Yann-Gael Gueheneuc, Un cadre pour la
tracabilite des motifs de conception, 2003].
Solution
Modelisation d'un patron par un ensemble de contraintes.
Utilisation d'un solveur de contraintes sur le programme.
L'ensemble des solutions correspond a des occurrences de patrons dans le
programme.
Points forts :
Temps d'execution plus faible et detection de variantes proches.
Point faible : La detection de variantes trop eloignees necessite de creer un
nouvel ensemble de contraintes.
24/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 24
37. Focus sur le logiciel PTIDEJ
Sommaire
1 Introduction
Problematique
2 Etat de l'art
Mesure de la qualite d'un patron
Patrons de conception et les outils pour leur tracabilite
3 Focus sur le logiciel PTIDEJ
Modelisation d'un programme par PTIDEJ
Mesure de la qualite d'un programme
Detection d'un patron de conception
4 Notre contribution a PTIDEJ
Le patron Bridge
Creation du probleme et des entites
Contrainte de nature d'une entite
Contraintes de relation entre entites
5 Conclusion
Critiques
Nos perspectives
25/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 25
38. Focus sur le logiciel PTIDEJ
Focus sur le logiciel PTIDEJ
Logiciel developpe par Yann-Gael Gueheneuc dans sa these [Un cadre pour
la tracabilite des motifs de conception, 2003].
Le systeme permet de :
Modeliser un programme sous forme d'un diagramme de classes UML.
Evaluer la qualite d'un programme.
Detecter les implementations de patrons de conception dans un programme.
26/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 26
39. Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ
Modelisation d'un programme par PTIDEJ
Figure: Resultat de la modelisation d'une implementation jouet du patron Bridge par
PTIDEJ.
27/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 27
40. Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ
PADL : meta-modele pour decrire un programme
Diagramme de classes UML simpli
41. e de PADL [Yann-Gael Gueheneuc, Un cadre pour la
tracabilite des motifs de conception, 2003]
28/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 28
42. Focus sur le logiciel PTIDEJ Mesure de la qualite d'un programme
Mesure de la qualite d'un programme
PTIDEJ utilise les metriques decrites dans l'Etat de l'Art pour evaluer la qualite
d'un programme.
Figure: Diagramme UML de l'implementation de Abstract Factory que nous avons
evalue.
29/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 29
43. Focus sur le logiciel PTIDEJ Mesure de la qualite d'un programme
Resultats de l'evaluation de la qualite d'Abstract Factory
Entite n Metrique Ecacite Extensibilite Flexibilite Fonctionnalite Reutilisabilite Comprehensibilite
Abstract Factory 0.4 0 0 4.08 7.25 -6.27
Abstract Product 0.6 0.5 0.5 4.3 8 -5.61
Concrete Factory 0.27 0.7 0 3.3 6.5 -4.95
Concrete Product 0.3 -1.25 -1 3.3 5.5 -6.27
Moyenne 0.36 -0.1 -0.25 3.6 6.5 -5.72
Table: Tableau des resultats de l'evaluation de notre implementation
Postulats :
Chaque entite possede le m^eme impact sur la qualite du patron.
Une entite indenombrable a le m^eme impact quelque soit le nombre de classes
qu'elle represente.
Resultats :
Le plus gros point faible de ce patron est sa diculte a ^etre compris.
L'evaluation indique que le patron est peu extensible alors que c'est selon nous
un de ses principaux atouts.
30/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 30
44. Focus sur le logiciel PTIDEJ Detection d'un patron de conception
Detection d'un patron de conception
PTIDEJ detecte les patrons de conception dans un programme en utilisant la
programmation par contraintes avec explications.
Les patrons de conception sont representes par un ensemble de contraintes.
Le solver de PTIDEJ est Ptidej Solver 4
Utilise en interne le solver de contraintes CHOCO [Laburthe, 2000 ; Laburthe
et le projet OCRE (Outil Contraintes pour la Recherche et l'Enseignement),
2000]
Traduit des requ^etes exprimees en Java vers le langage de programmation
CLAIRE (Combining Logical Assertions, Inheritance, Rules and Entities)
[Caseau et Laburthe, 1994]
31/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 31
45. Focus sur le logiciel PTIDEJ Detection d'un patron de conception
Des contraintes utilisees pour la detection
Contraintes sur la nature des entites
AbstractEntityConstraint
InterfaceEntityConstraint
NoGhostEntityConstraint
Contraintes sur les relations entre deux identites
StrictInheritanceConstraint
AssociationConstraint
AggregationConstraint
CompositionConstraint
NotEqualConstraint
32/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 32
46. Notre contribution a PTIDEJ
Sommaire
1 Introduction
Problematique
2 Etat de l'art
Mesure de la qualite d'un patron
Patrons de conception et les outils pour leur tracabilite
3 Focus sur le logiciel PTIDEJ
Modelisation d'un programme par PTIDEJ
Mesure de la qualite d'un programme
Detection d'un patron de conception
4 Notre contribution a PTIDEJ
Le patron Bridge
Creation du probleme et des entites
Contrainte de nature d'une entite
Contraintes de relation entre entites
5 Conclusion
Critiques
Nos perspectives
33/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 33
47. Notre contribution a PTIDEJ
Notre contribution a PTIDEJ
Nous avons donne a M. Yann-Gael Gueheneuc des retours qui ont permis
d'ameliorer PTIDEJ.
Nous avons ajoute a PTIDEJ la detection des patrons de conception suivants,
48. gurant dans le livre [Gang of Four, Design Patterns : Elements of
Reusable Object-Oriented Softwares, 1994].
Bridge
ChainOfResponsability
Facade
Interpreter
Mediator
34/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 34
49. Notre contribution a PTIDEJ Le patron Bridge
Le patron Bridge
Figure: Diagramme UML du patron Bridge
35/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 35
50. Notre contribution a PTIDEJ Creation du probleme et des entites
Creation du probleme et des entites
public final class BridgeMotif {
public static Problem getProblem(final List allEntities)
{
final Problem pb = new Problem(90, Bridge Design
Motif, allEntities);
final Variable abstraction =
new Variable(pb, Abstraction, true);
final Variable refinedAbstraction =
new Variable(pb, RefinedAbstraction, false);
final Variable implementor =
new Variable(pb, Implementor, true);
final Variable concreteImplementor =
new Variable(pb, ConcreteImplementor, false);
// Ajout des contraintes
return pb;
}
}
36/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 36
51. Notre contribution a PTIDEJ Contrainte de nature d'une entite
Contraintes de nature d'une entite
Interface
pb.post(new InterfaceEntityConstraint(
Implementor interface, ,
implementor,
100,
DefaultNoApproximations
.getDefaultApproximations()));
37/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 37
52. Notre contribution a PTIDEJ Contraintes de relation entre entites
Contraintes de relation entre entites
Heritage
pb.post(new StrictInheritanceConstraint(
RefinedAbstraction -|- Abstraction, ,
refinedAbstraction, abstraction,
50,
TSE07ExtensibleInheritanceOrNoneApproximations
.getDefaultApproximations()));
38/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 38
53. Conclusion
Sommaire
1 Introduction
Problematique
2 Etat de l'art
Mesure de la qualite d'un patron
Patrons de conception et les outils pour leur tracabilite
3 Focus sur le logiciel PTIDEJ
Modelisation d'un programme par PTIDEJ
Mesure de la qualite d'un programme
Detection d'un patron de conception
4 Notre contribution a PTIDEJ
Le patron Bridge
Creation du probleme et des entites
Contrainte de nature d'une entite
Contraintes de relation entre entites
5 Conclusion
Critiques
Nos perspectives
39/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 39
54. Conclusion
Conclusion
Utiliser des patrons de conception permet d'ameliorer la qualite d'un
programme seulement sur certains criteres.
On peut mesurer la qualite d'un patron qualitativement ou quantitativement.
Aucune solution n'a ete trouvee pour detecter tous les patrons de conception
dans un programme.
40/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 40
55. Conclusion Critiques
Critiques
Critiques sur les approches analysees
Mesures de qualite potentiellement subjectives.
Detection des patrons de conception ecace mais limitee.
Limitations de PTIDEJ
PADL ne permet pas de representer la genericite parametrique.
Detection des variantes eloignees d'un m^eme patron impossible sans rede
56. nir
un nouvel ensemble de contraintes.
41/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 41
57. Conclusion Nos perspectives
Nos perspectives
Par manque de temps, nous n'avons pas pu mais aurions voulu :
Ajouter un generateur de code a PTIDEJ.
Etendre les motifs implementes aux variantes proposees par l'heritage
multiple.
Ameliorer PTIDEJ a
58. n detecter plus de patrons (exemple : le patron
poid-mouche)
Mettre a niveau PADL.
Ajouter des contraintes.
42/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 42
59. Conclusion Nos perspectives
Bibliographie
[1] Marcel Birkner. Objected-oriented design pattern detection using static and dynamic analysis in java software. 2007.
[2] Yann-Gael Gueheneuc Herve Albin-Amiot, Pierre Cointe. Un meta-modele pour coupler application et detection des design patterns. 2002.
[3] Carl G. Davis Jagdish Bansiya. A Hierarchical Model for Object-Oriented Design Quality Assessment. 2002.
[4] Jakubk Jaroslav. Extension for Design Pattern Identi
60. cation Using Similarity Scoring Algorithm. 2009.
[5] Tu Peng Jing Dong, Yajing Zhao. Architecture and Design Pattern Discovery Techniques. 2007.
[6] Gueheneuc Yann-Gael Khashayar Khosravi. A Quality Model for Design Patterns. 2004.
[7] Foutse Khomh. Patterns and quality of Object-oriented Software Systems. 2010.
[8] Naouel Moha. Detection et correction des defauts dans les systemes orientes objet. 2007.
[9] G. Stephanides-S. Halkidis N. Tsantalis, A. Chatzigeorgiou. Design Pattern Detection Using Similarity Scoring, IEEE transaction on software
engineering, Vol. 32, 2006. 2009.
[10] Ralph Johnson John Vlissides The Gang of Four : Erich Gamma, Richard Helm. Design Patterns : Elements of Reusable Object-Oriented Software.
1994.
[11] Gueheneuc Yann-Gael. Un cadre pour la tracabilite des motifs de conception. 2003.
43/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 43
61. Conclusion Nos perspectives
Sites web utiles
Site relatif aux travaux du Gang of Four :
http://c2.com/cgi/wiki?GangOfFour
Site web de l'equipe developpant PTIDEJ : http://www.ptidej.net/
Projet OCRE :
http://www.emn.fr/dept info/recherche/equipe/contraintes/ocre
/public/Welcome.html
44/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 44
62. Conclusion Nos perspectives
Merci,
Nous allons maintenant faire une demonstration du logiciel PTIDEJ.
45/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 45