600 likes | 797 Views
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. Client SIT Analyse Symphony.
E N D
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
Client SIT Analyse Symphony Concept métier de Client dans les Systèmes d’Information de Transport - SIT (Initiative Centr’Actoll) (Khayati, 2003a) (Khayati, 2004b) Client SIT Analyse Client SIT Logiciel EJB Client SIT Conception EJB Raffine Implante Problématique Composant Définition(s) C’est une unité de conception (de n’importe quel niveau d’abstraction) identifiée par un nom, avec une structure définie et des directives de conception sous la forme de documentation pour supporter sa réutilisation (Pernici, 2000) • Il peut être spécifié et développé par différentes équipes • Il décrit les services (interfaces) offerts et requis • Il peut être assemblé avec d’autres composants • (OMG 2003)
Concepteur d’applications Bibliothécaire de composants Demandes Archiver et indexer des composants Extraire des composants Nouveaux Composants à archiver Développer des composants Demander de nouveaux composants Groupe de développement Demande de mise a jour Acheter des composants Groupe de maintenance Groupe d’identification et certification Fournisseur de composants Problématique Acteurs et processus Les bibliothèques de composants au coeur des équipes de développement Bibliothèques de Composants réutilisables
Requête utilisateur = R1 et (R2 ou R3) et R4 • R1 : retrouver un composant métierClient du domaineSIT. • R2 : qui admet une implantation réalisée avec la technologieEJB. • R3 : qui admet une implantation réalisée avec la technologieCCM. • R4 : qui offre une fonctionPayerAbonnement() Problématique Requêtes Exemple de requête composite d’un concepteur d’application
Hétérogénéité des niveaux d’abstraction de composants expression des besoins conception réalisation Concepteur d'applications Environnement d’aide à la réalisation et à l’utilisation de composants Ingénieur de Hétérogénéité des modèles et des sources de composants Hétérogénéité des équipes composants EJB, CCM, Patrons, … Classification externe, classification structurelle, … Hétérogénéité des techniques de recherche de composants Cadre retenu 4 sources d’hétérogénéité
Plan • Problématique • État de l’art • Propositions • Conclusion et perspectives
Plan • Problématique • État de l’art • Approches à composants • Approches de recherche de composants • Propositions • Conclusion et perspectives
Environnement d’exécution Vue interne Interface de contrôle requise Interface de contrôle fournie Interface fonctionnelle requise Vue externe Vue externe Interface fonctionnelle fournie Attribut de configuration Dépendance de déploiement Attribut de déploiement Vue de déploiement État de l’art Approches à composants Les composants logiciels : concepts (COM, EJB, Fractal, …) Instance de composant
État de l’art Approches à composants Exemple de composant logiciel : Client SIT logiciel en EJB
État de l’art Approches à composants Exemple de composant conception : le patron Composite de Gamma (Gamma, 1995) …
Client SIT Analyse Symphony État de l’art Approches à composants Exemple de composant Analyse : Client SIT analyse dans Symphony
État de l’art Approches à composants Bilan Approches à composants : • Multitude de niveaux d’abstraction • Multitude de modèles de composants par niveau d’abstraction Extraire un métamodèle unificateur et évolutif
État de l’art • Problématique • État de l’art • Approches à composants • Approches de recherche decomposants • Propositions • Expérimentations • Conclusion et perspectives
Classification externe Recherche comportementale Classification structurelle Recherche par navigation État de l’art Approches de recherche de composants Les techniques de recherche de composants
Indexation sémantique Indexation manuelle État de l’art Approches de recherche de composants Classification externe : classification par facettes (Asset, 1993) (Poulin, 1995) (Zhang, 2000) … Domaine métier : Bancaire, SIT, … Technologie implantation : EJB, CCM, … Niveau abstraction : Analyse, conception,… • Retrouver un composant Client du domaine métierSIT.
Rigueur mathématique, indexation automatique Langage de spécification, performance État de l’art Approches de recherche de composants Classification structurelle : appariement de signatures (Gaudel, 1991) (Ritti, 1992) (Zarimski, 1995)… • Retrouver un composant qui offre la fonctionPayerAbonnement (p1:Type1)
Composant 1 • Retrouver tous les composants implantant une fonction de tri croissant (5,3,2,4,1),(4,3,5,1,2),(2,1,5,3,4) -> (1,2,3,4,5) Composant 2 Trace d’exécution Espaces des valeurs d’entrée Composant 3 Espaces des valeurs de sortie Filtrage Indexation automatique Résultat Temps de réponse État de l’art Approches de recherche de composants Recherche comportementale : analyse des traces d’exécution(Podgursky, 1993) (Hall, 1993) (Chou, 1996) …
Raffinement Organisation manuelle ou semi automatique, point de départ État de l’art Approches de recherche de composants Recherche par navigation : navigationhypertexte (Cybulski, 1993) (Jeng, 1993) (Freitag, 1994) … C2 C6 C1 C4 C7 utilise C5 C3 hérite équivalent
État de l’art Approches de recherche de composants Comparaison entre les techniques de recherche de composants 24 critères de comparaison divisés en 4 groupes : • Critères techniques :Précision, Rappel, Couverture, Complexité d’appariement, Potentiel d’automatisation • Critères économiques :Coût d’investissement, coût de fonctionnement, degré de diffusion, état de développement. • Critères humains :Difficulté d’utilisation et transparence. • Caractéristiques de conception :Nature des composants, représentation des composants, objectif de la recherche, etc.
État de l’art Bilan Approches de recherche de composants : • Multitude de TRC pour multitude de types de requêtes • Une représentation spécialisée pour chaque TRC Créer un environnement pour intégrer différentes TRC
Plan • Problématique • État de l’art • Propositions • Expérimentations • Conclusion et perspectives
Hétérogénéité des niveaux d’abstraction de composants expression des besoins conception réalisation Ingénieur d'applications Ingénieur de Hétérogénéité des modèles et des sources de composants Hétérogénéité des équipes composants EJB, CCM, Patrons, … Classification externe, classification structurelle, … Hétérogénéité des techniques de recherche de composants Propositions Cadre retenu Environnement d’aide à la réalisation et à l’utilisation de composants
Utilise Propositions Architecture Environnement SGBDC M-Sigma SRC Instance Modèle de SRC C-Sigma Utilise Instance B-Sigma TRC Gestion des composants Recherche de composants
Plan • Propositions • La base B-Sigma et le modèle C-Sigma • Le Système de Gestion de Bases Descriptives de Composants • Le Système de Recherche de Composants • Une TRC structurelle externe spécifique
Propositions La base B-Sigma Objectif : Gestion de composants et de leurs relations Niveau analyse Niveau conception Niveau logiciel imite utilise raffine implante Composant métier Composant
Propositions La base B-Sigma Exemple de composants gérés dans B-Sigma utilise Patron Rôle imite Client analyse Agent analyse Utilise raffine raffine raffine utilise Patron Composite Client Conception EJB Agent Conception EJB Client Conception CCM … … utilise implante implante implante utilise Client Logiciel EJB Agent Logiciel EJB Client Logiciel CCM … … utilise Composant métier Agent Composant métier Client
Description de composants Réutilisation Modèle de composants Propositions La base B-Sigma Exemple de description du composant Client SIT logiciel en EJB
Propositions La base B-Sigma Les concepts
Propositions Le modèle C-Sigma Organisation Modèle Abstrait Modèle Concret
Propositions Le modèle C-Sigma Organisation Modèle Abstrait Modèle Concret
Plan • Propositions • La base B-Sigma et le modèle C-Sigma • Le Système de Gestion de Bases Descriptives de Composants • Le Système de Recherche de Composants • Une TRC structurelle externe spécifique
Métamétamodèle MOF ? M-Sigma Métamodèle UML C-Sigma Modèle UML du SI Système d’information B-Sigma Propositions Le SGBDC Positionnement : lemétamodèle du SGBDC, une extension d’UML
Propositions Le SGBDC Le métamodèle M-Sigma : Extension du métamodèle UML M-Sigma
Propositions Le SGBDC Le métamodèle M-Sigma Core package Classifiers
Propositions Le SGBDC Le métamodèle M-Sigma Core package Backbone
Propositions Le SGBDC Le métamodèle M-Sigma Core package Relationships
Propositions Le SGBDC Le métamodèle M-Sigma Package Data Type
Propositions Le SGBDC Exemple
Plan • Propositions • La base B-Sigma • Le système de gestion de bases descriptives de composants • Le Système de Recherche de Composants • Une TRC structurelle externe spécifique
Propositions Le SRC Objectif Prendre en compte l’hétérogénéité des TRC • Par un modèle générique, le modèle de SRC • Pour « composer » des TRC
Propositions Le SRC Modèle de SRC Modèle de SRC
Requête utilisateur = R1 et (R2 ou R3) et R4 • R1 : retrouver un composant métierClient du domaineSIT. • R2 : qui admet une implantation réalisée avec la technologieEJB. • R3 : qui admet une implantation réalisée avec la technologieCCM. • R4 : qui offre une fonctionPayerAbonnement() Propositions Le SRC Exemple de requête composite :
Propositions Le SRC Modèle de SRC Simple Query Package
Propositions Le SRC Modèle de SRC Query Integration Package
Propositions Le SRC Modèle de SRC Components Retrieval System Package
Propositions Le SRC Bilan • Possibilité de composer des TRC • Possibilité d’utiliser les TRC à faible complexité algorithmique comme outil de présélection pour les TRC à haute complexité. • Possibilité de raffiner les résultats de la recherche par l’approche par navigation
Plan • Propositions • La base B-Sigma et le modèle C-Sigma • Le Système de Gestion de Bases Descriptives de Composants • Le Système de Recherche de Composants • Une TRC structurelle externe spécifique
Diagramme de classes d’un composant réutilisable (Source) Diagramme de classes d’une requête utilisateur (Cible) Propositions Une TRC spécifique Objectif : reconnaissance par appariement de diagrammes de classes Exemple : retrouver le diagramme du patron Composite dans un composant de la base
Propositions Une TRC spécifique Utilisation de la logique du premier ordre • Description des DC sous forme logique • Le calcul des prédicats offre des axiomes et des règles d’inférence • Possibilité de prouver qu’une spécification cible est une conséquence logique d’une spécification source
Propositions Une TRC spécifique Le processus de recherche