oualid.khayati.soutenance.17122005.ppt

60
Modèles formels et outils génériques pour la gestion et la recherche de composants Soutenance de thèse présentée par Oualid KHAYATI dirigée par Jean-Pierre GIRAUDIN & Agnès FRONT 17 décembre 2005

Upload: hamza

Post on 07-Nov-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

  • Modles formels et outils gnriques pour la gestion et la recherche de composantsSoutenance de thseprsente parOualid KHAYATIdirige parJean-Pierre GIRAUDIN & Agns FRONT17 dcembre 2005

  • ProblmatiqueComposantDfinition(s)Cest une unit de conception (de nimporte quel niveau dabstraction) identifie par un nom, avec une structure dfinie et des directives de conception sous la forme de documentation pour supporter sa rutilisation (Pernici, 2000) Il peut tre spcifi et dvelopp par diffrentes quipesIl dcrit les services (interfaces) offerts et requis Il peut tre assembl avec dautres composants(OMG 2003)

  • ProblmatiqueLes bibliothques de composants au coeur des quipes de dveloppementBibliothques de Composants rutilisablesActeurs et processus

  • ProblmatiqueExemple de requte composite dun concepteur dapplicationRequtes

  • Cadre retenu4 sources dhtrognit

  • PlanProblmatiquetat de lartPropositionsConclusion et perspectives

  • PlanProblmatiquetat de lartApproches composantsApproches de recherche de composantsPropositionsConclusion et perspectives

  • tat de lartLes composants logiciels : concepts (COM, EJB, Fractal, ) Approches composantsInstance de composant

  • tat de lartExemple de composant logiciel : Client SIT logiciel en EJB Approches composants

  • tat de lartExemple de composant conception : le patron Composite de Gamma (Gamma, 1995) Approches composants

    Nompatron CompositeAuteurE. GammaIntentionce patron permet de grer une composition rcursive dobjets. Il dfinit des hirarchies de classes dobjets simples et dobjets composites et facilite lajout des nouveaux composants.Solution

  • tat de lartExemple de composant Analyse : Client SIT analyse dans Symphony Approches composants

  • tat de lartBilanApproches composantsMultitude de niveaux dabstractionMultitude de modles de composants par niveau dabstraction

    Extraire un mtamodle unificateur et volutifApproches composants :

  • tat de lartProblmatiquetat de lartApproches composantsApproches de recherche de composantsPropositionsExprimentationsConclusion et perspectives

  • tat de lartLes techniques de recherche de composants Approches de recherche de composants

  • tat de lartDomaine mtier : Bancaire, SIT, Technologie implantation : EJB, CCM, Niveau abstraction : Analyse, conception, Classification externe : classification par facettes (Asset, 1993) (Poulin, 1995) (Zhang, 2000) Approches de recherche de composantsRetrouver un composant Client du domaine mtier SIT.

  • tat de lartClassification structurelle : appariement de signatures (Gaudel, 1991) (Ritti, 1992) (Zarimski, 1995)Approches de recherche de composantsRetrouver un composant qui offre la fonction PayerAbonnement (p1:Type1)

  • tat de lartRecherche comportementale : analyse des traces dexcution(Podgursky, 1993) (Hall, 1993) (Chou, 1996) Approches de recherche de composants

  • tat de lartRecherche par navigation : navigation hypertexte (Cybulski, 1993) (Jeng, 1993) (Freitag, 1994) Approches de recherche de composantsC2C7C1C6C3C4C5utilisehritequivalent

  • tat de lartComparaison entre les techniques de recherche de composantsApproches de recherche de composantsCritres techniques : Prcision, Rappel, Couverture, Complexit dappariement, Potentiel dautomatisation

    Critres conomiques : Cot dinvestissement, cot de fonctionnement, degr de diffusion, tat de dveloppement.

    Critres humains : Difficult dutilisation et transparence.

    Caractristiques de conception : Nature des composants, reprsentation des composants, objectif de la recherche, etc.

    24 critres de comparaison diviss en 4 groupes :

  • tat de lartBilanMultitude de TRC pour multitude de types de requtesUne reprsentation spcialise pour chaque TRC

    Crer un environnement pour intgrer diffrentes TRC

    Approches de recherche de composants :

  • PlanProblmatiquetat de lartPropositionsExprimentationsConclusion et perspectives

  • PropositionsEnvironnement daide la ralisation et lutilisation de composantsCadre retenu

  • PropositionsEnvironnementM-SigmaC-SigmaB-SigmaModle de SRCInstanceInstanceTRCUtiliseSRCSGBDCGestion des composantsRecherche de composantsArchitecture

  • PlanPropositionsLa base B-Sigma et le modle C-SigmaLe Systme de Gestion de Bases Descriptives de ComposantsLe Systme de Recherche de Composants Une TRC structurelle externe spcifique

  • PropositionsObjectif : Gestion de composants et de leurs relationsLa base B-Sigma Niveau conceptionNiveau analyseNiveau logicielutiliseraffineimplanteComposant mtierimiteComposant

  • PropositionsExemple de composants grs dans B-SigmaLa base B-SigmaPatron RleimiteraffineimplanteClient Conception EJButiliseClient analyseutiliseutiliseClient Logiciel EJBraffineimplanteAgentConception EJBAgent analyseAgentLogiciel EJBUtiliseutiliseutiliseComposant mtierClientComposant mtierAgentraffineimplanteClientConception CCMClientLogiciel CCMPatron Composite

  • PropositionsExemple de description du composant Client SIT logiciel en EJBLa base B-Sigma

  • PropositionsLes conceptsLa base B-Sigma

  • PropositionsOrganisationModle AbstraitModle ConcretLe modle C-Sigma

  • PropositionsOrganisationModle AbstraitModle ConcretLe modle C-Sigma

  • PlanPropositionsLa base B-Sigma et le modle C-SigmaLe Systme de Gestion de Bases Descriptives de ComposantsLe Systme de Recherche de Composants Une TRC structurelle externe spcifique

  • PropositionsPositionnement : le mtamodle du SGBDC, une extension dUMLLe SGBDC

  • PropositionsLe mtamodle M-Sigma : Extension du mtamodle UMLLe SGBDCM-Sigma

  • PropositionsLe mtamodle M-SigmaLe SGBDCCore package Classifiers

  • Core package BackboneLe mtamodle M-SigmaPropositionsLe SGBDC

  • PropositionsLe mtamodle M-SigmaLe SGBDCCore package Relationships

  • PropositionsLe mtamodle M-SigmaLe SGBDCPackage Data Type

  • PropositionsExemple Le SGBDC

  • PlanPropositionsLa base B-SigmaLe systme de gestion de bases descriptives de composantsLe Systme de Recherche de ComposantsUne TRC structurelle externe spcifique

  • PropositionsPrendre en compte lhtrognit des TRCPar un modle gnrique, le modle de SRCPour composer des TRC

    Le SRCObjectif

  • PropositionsModle de SRCLe SRCModle de SRC

  • PropositionsExemple de requte composite :Le SRC

  • PropositionsModle de SRCLe SRCSimple Query Package

  • PropositionsModle de SRCLe SRCQuery Integration Package

  • PropositionsModle de SRCLe SRCComponents Retrieval System Package

  • PropositionsBilan Le SRCPossibilit de composer des TRC Possibilit dutiliser les TRC faible complexit algorithmique comme outil de prslection pour les TRC haute complexit.Possibilit de raffiner les rsultats de la recherche par lapproche par navigation

  • PlanPropositionsLa base B-Sigma et le modle C-SigmaLe Systme de Gestion de Bases Descriptives de ComposantsLe Systme de Recherche de ComposantsUne TRC structurelle externe spcifique

  • PropositionsUne TRC spcifiqueObjectif : reconnaissance par appariement de diagrammes de classes Exemple : retrouver le diagramme du patron Composite dans un composant de la base

  • PropositionsDescription des DC sous forme logiqueLe calcul des prdicats offre des axiomes et des rgles dinfrence

    Possibilit de prouver quune spcification cible est une consquence logique dune spcification source Une TRC spcifiqueUtilisation de la logique du premier ordre

  • PropositionsUne TRC spcifiqueLe processus de recherche

  • Base de composants

    Diagrammes de classes des composants

    SpcificationsSources

    Extraction de la structure

    Gnration desSpcifications sources

    Spcificationcible

    Gnration de laSpcification cible

    Appariement deSpcifications

    Mta-connaissances

    Composants retrouvs

    Processus

    Produit

    Diagramme de classes cible

    Spcifications des composants de la Base de composants

    Spcification de la requte utilisateur

  • entit(id_Classe_1) nom_entit(id_Classe_1, Component) classe(id_Classe_1)classe_abstraite(id_Classe_1)PropositionsUne TRC spcifiqueGnration dune spcification sourceentit(id_opration_1)nom_entit(id_opration_1, Operation)opration(id_opration_1)entit(id_signature_1) signature(id_signature_1) classe_opration(id_classe_1, id_opration_1, id_signature_1)opration_abstraite(id_opration_1)visibilit(id_opration_1, publique)

  • _id_Classe_11, _NomClasse, , _visibility1

    entit(_id_Classe_11) nom_entit(_id_Classe_11, _NomClasse) classe(_id_Classe_11)classe_abstraite(_id_Classe_11)

    entit(_id_opration_11)nom_entit(_id_opration_11, _NomOperation)opration(_id_opration_11)entit(_id_signature_11) signature(_id_signature_11) classe_opration(_id_classe_11, _id_opration_11, _id_signature_11)visibilit(_id_opration_11, _visibility1) Requte (_id_Classe_11, _NomClasse, , _visibility1)PropositionsUne TRC spcifiqueGnration dune spcification cibleDiagramme cibleAppariement : 5 rsultats

  • _id_Classe_11, _NomClasse, , _visibility1

    entit(_id_Classe_11) nom_entit(_id_Classe_11, _NomClasse) classe(_id_Classe_11)classe_abstraite(_id_Classe_11)

    entit(_id_opration_11)nom_entit(_id_opration_11, Operation)opration(_id_opration_11)entit(_id_signature_11) signature(_id_signature_11) classe_opration(_id_classe_11, _id_opration_11, _id_signature_11)visibilit(_id_opration_11, _visibility1) Requte (_id_Classe_11, _NomClasse, , _visibility1)PropositionsUne TRC spcifiqueGnration dune spcification cibleDiagramme ciblePourquoi pas 3 rsultats puisque la mthode Operation() est transmise par hritage aux classes Composite et Leaf ?

    Appariement : 1 rsultat

  • Propagation des proprits par la gnralisation.Oprations, attributs, associations, interfacesMcanisme de relaxation des critres de rechercheType des associationsType, ordre et nombre des paramtres des oprations

    PropositionsUne TRC spcifiqueExploitation de mtaconnaissances

  • PlanProblmatiquetat de lartPropositionsConclusion et perspectives

  • ConclusionUn environnement permettant : La gestion de composants htrognes par leur niveau dabstraction, leurs modles et leurs sourcesLa recherche de composants par des techniques htrognes dans un environnement unifiUn environnement volutif :Par sa structurePar la dmarche spcifie dans le guide mthodologique sous forme dun systme de patrons

    Un prototype validant cet environnement

  • ConclusionPrototype SGBDC

  • Systme de gestion de bases descriptives de composants

    Explorateur de MBDC

    Gnrateur de BDC

    diteur de BDC

    diteur de MBDC

    SGBDR

    Gestionnaire desutilisateurs

    Access

    Postgres

  • ConclusionPrototype SRC

  • Systme de recherche de composants

    diteur de requtes

    Gnrateur de Spcifications

    Moteur dvaluationdes requtes

    Diagramme de classes (XMI)

    Spcification cible (Requte Prolog)

    SGBDR(Indexes)

    Systme de Gestion de bases descriptives de composants

    Moteurdindexation

    Spcification sources(Programmes Prolog)

    SGBDR

    Diagramme de classes (XMI)

    Atelier AGAP

    SGBDR

    Serveur de fichiers

    Module dimport

    Diagramme de classes (XMI)

  • PerspectivesSGBDCPasser du prototype un environnement plus grande chelleSRCtendre la TRC pour dautres diagrammes UML ( Prcision/Rappel) et intgrer dautres TRCtudier les fonctions de fusion de requtesAlimentation des BDCtudier le processus dalimentation des BDCtudier la possibilit dutiliser des techniques de routage et de filtrageAdopter une architecture base de composants connectables

  • Merci

    Mes dames et messieurs les membres du jury.Honorable assistance.Je vous prsente les travaux raliss dans le cadre de ma thse intitul ralis lquipe SIMGA sous la direction de La documentation dun composant illustre le contexte dans lequel il peut tre utilis en spcifiant les contraintes et les autres composants dont il a besoin pour offrir sa solution (Pernici, 2000) vrifierAprs la ralisation de ltat de lart sur les composants. jai constat la diversit des MC donc de la diversit de la reprsentation des composants. on se pose alors la question de la rechercheMulti basesvolutif

    Ajouter des transparents supplmentaires avec des exemples de mtaconaissances