JNPC01.ppt

235 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
235
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

JNPC01.ppt

  1. 1. Quelques explications pour les patrons : l’outil PTIDEJ Yann-Gaël Guéhéneuc et Narendra Jussien École des Mines de Nantes Département InformatiquePPC avec Explications JNPC 01 - N.J. - 06/01 - 1/12
  2. 2. Plan n But du travail n Les patrons de conceptions (design-patterns) n Le CSP à résoudre n L’apport des explications n ConclusionPPC avec Explications JNPC 01 - N.J. - 06/01 - 2/12
  3. 3. Objectif n Améliorer la qualité des logiciels l uniquement aspects architecturaux l amélioration a posteriori n Outil privilégié : patrons de conception (Design patterns) l Compilation de l’expérience des développeurs l Problèmes récurrents d’architecture l Une bonne solutionPPC avec Explications JNPC 01 - N.J. - 06/01 - 3/12
  4. 4. Un exemple : composite n Composition d’objets dans une structure arborescente pour un traitement uniforme des objets et des compositionsPPC avec Explications JNPC 01 - N.J. - 06/01 - 4/12
  5. 5. Le problème n Identifier les utilisations d’un patron l montrer que le code est bien écrit l notion de solution classique n Identifier les quasi-utilisations d’un patron l proposer des améliorations du code analysé l notion de solution dégradée d’un problème donné n Modéliser le patron sous forme de CSP n Trouver solutions et solutions dégradées l interaction avec l’utilisateurPPC avec Explications JNPC 01 - N.J. - 06/01 - 5/12
  6. 6. Exemple Recherche de solutionPPC avec Explications JNPC 01 - N.J. - 06/01 - 6/12
  7. 7. Caractéristiques du problème n Pas de description a priori des « dégradations » l on ne veut/peut pas penser à tout n Capacité de justifications l programmation : activité « artistique » l délicat de modifier du code sans expliquer pourquoi n Interaction forte avec l’utilisateur l description dynamique des dégradations n Une solution : utilisation de la ePPCPPC avec Explications JNPC 01 - N.J. - 06/01 - 7/12
  8. 8. Le CSP résolu n Le CSP est déduit de deux informations l Le patron de conception – Les variables sont les classes actrices – Les contraintes les relations voulues entre les classes l Le code à analyser – Les domaines des variables sont les classes du logiciel – La sémantique des contraintes dérive des relations effectives entre les classes du logicielPPC avec Explications JNPC 01 - N.J. - 06/01 - 8/12
  9. 9. Exemple : contraintes n Le patron de conception n Les contraintes composite < component leaf < component composite ⊃ componentPPC avec Explications JNPC 01 - N.J. - 06/01 - 9/12
  10. 10. Exemple : résolutionPPC avec Explications JNPC 01 - N.J. - 06/01 - 10/12
  11. 11. Implémentation : le système PTIDEJ n Développé en PaLM n Bibliothèque de contraintes l héritage, création, composition, connaissance, … l méta-contraintes : écriture de nouvelles contraintes n Bibliothèque de patrons de conception l Composite, Facade, Mediator, AbstractFactory, Observer, Singleton, … n Expérimentations l Petits exemples de code l framework JHotDraw (~100 classes) l PTITDEJ lui-même !!! (en cours)PPC avec Explications JNPC 01 - N.J. - 06/01 - 11/12
  12. 12. Conclusion et perspectives n Une application des explications l application de type débogage/aide à la décision et problèmes dynamiques n Perspectives à court terme l ajout de nouveaux patrons l ajout de nouvelles contraintes (globales) l autres tests n Perspectives à moyen/long terme l prise en compte d’informations à l’exécution l travail sur la sémantique des liens entre classes – certaines relations sont implicitesPPC avec Explications JNPC 01 - N.J. - 06/01 - 12/12

×