Lutin RNTL 2001 – Exploratoire – 3 ans Xavier Blanc –
Objectif Intégration des patrons de conception et darchitecture dans les ateliers UML (Objecteering) Gain significatif de productivité dans lutilisation des patrons Intégration de nouveaux patrons dans l'atelier Objecteering
Etat de lart Un patron est uniquement une solution Catalogue de patron Cette solution est valide car elle a été définie par des experts Adaptation ? Dans UML les patrons sont utilisés principalement dans les diagrammes de classes Template
Verrous Support de la partie « problème » des patrons Validation des patrons avec B Représentation des patrons dans UML
Organisation Définir les patrons Lead : LIP6 Problème = Intention Fonctionnelle + Contraintes de Qualités Solution = Ensemble de Transformations Valider les patrons Lead : PRISM Traduction des modèles UML en B Validation des Transformations (Solution) Appliquer les patron Lead : SOFTEAM Expression du problème en UML Application de la solution en UML
Approche Globale 1.Lutilisateur élabore son modèle UML et fait face à un problème (Contexte) 2.Lutilisateur décrit son problème Intention fonctionnelle Contraintes de qualités 3.Une solution est proposée Ensemble de transformations élémentaires 4.La solution est appliquée Application des transformations
1 - Contexte
2 – Intention Fonctionnelle UNIFORME
2 – Contraintes de Qualité Invisible(Client, Movie::draw, Picture::draw, Rectangle::draw, Line::draw).
3 - Solution Redécouverte des patrons
4 - Application Template Paramètres Transformations élémentaires Ajouter Classe, Opération, Héritage
Validation Comme les patrons sont redécouverts, il est important de les valider. Un patron est un couple Il faut valider que la solution est un raffinement du problème
Validation Traduction des modèles UML en B Classe, Opération, Attribut, Association, Héritage, Package Traduction de OCL en B Problème en UML Solution en UML Problème en B Solution en B
Résultats (fin juin 2003) Patron & UML Template Ensemble de transformations Contraintes de Qualité Extension UML (Invisible) Validation des Patrons Traduction UML vers B Validation des transformations élémentaire
Conclusions et Perspectives Explicitation de la partie problème Couplage avec B Couplage avec UML Automatisation de lapplication de pattern (découverte du problème) Transformation de modèles et Refactoring