Modles formels et outils gnriques pour la gestion

  • Slides: 60
Download presentation
Modèles formels et outils génériques pour la gestion et la recherche de composants Soutenance

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 samedi 17 décembre 2005

Problématique Client SIT Analyse Composant Symphony Définition(s) Client SIT Analyse Concept métier de Client

Problématique Client SIT Analyse Composant Symphony Définition(s) Client SIT Analyse Concept métier de Client SIT dans les Systèmes C’est une unité de conception (de n’importe. Logiciel quel EJB niveau d’Information de d’abstraction) identifiée par un nom, avec une structure définie - SIT sous la forme de et des directives Transport de conception (Initiative Centr’Actoll) documentation pour supporter sa réutilisation (Pernici, 2000) (Khayati, 2003 a) (Khayati, 2004 b) üIl peut être spécifié et développé par différentes équipes üIl décrit les services (interfaces) offerts et requis Client SIT üIl peut être assemblé Conceptionavec EJB d’autres composants (OMG 2003) Raffine Implante samedi 17 décembre 2005 2

Problématique Acteurs et processus Les bibliothèques de composants au coeur des équipes de développement

Problématique Acteurs et processus Les bibliothèques de composants au coeur des équipes de développement Concepteur d’applications Bibliothécaire de composants Demandes Extraire des composants Bibliothèques de Composants réutilisables Archiver et indexer 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 Fournisseur de composants samedi 17 décembre 2005 Groupe d’identification et certification Groupe de maintenance 3

Problématique Requêtes Exemple de requête composite d’un concepteur d’application Requête utilisateur = R 1

Problématique Requêtes Exemple de requête composite d’un concepteur d’application Requête utilisateur = R 1 et (R 2 ou R 3) et R 4 • R 1 : retrouver un composant métier Client du domaine SIT. • R 2 : qui admet une implantation réalisée avec la technologie EJB. • R 3 : qui admet une implantation réalisée avec la technologie CCM. • R 4 : qui offre une fonction Payer. Abonnement() samedi 17 décembre 2005 4

Cadre retenu 4 sources d’hétérogénéité Hétérogénéité des niveaux d’abstraction de composants conception réalisation Environnement

Cadre retenu 4 sources d’hétérogénéité Hétérogénéité des niveaux d’abstraction de composants conception réalisation Environnement d’aide à la réalisation et à l’utilisation de composants Classification externe, classification structurelle, … Hétérogénéité des techniques de recherche de composants samedi 17 décembre 2005 EJB, CCM, Patrons, … Ingénieur de composants Hétérogénéité des équipes Concepteur d'applications Hétérogénéité des modèles et des sources de composants expression des besoins 5

Plan I. III. IV. Problématique État de l’art Propositions Conclusion et perspectives samedi 17

Plan I. III. IV. Problématique État de l’art Propositions Conclusion et perspectives samedi 17 décembre 2005 6

Plan I. II. Problématique État de l’art i. ii. Approches à composants Approches de

Plan I. II. Problématique État de l’art i. ii. Approches à composants Approches de recherche de composants III. Propositions IV. Conclusion et perspectives samedi 17 décembre 2005 7

État de l’art Approches à composants Les composants logiciels : concepts (COM, EJB, Fractal,

État de l’art Approches à composants Les composants logiciels : concepts (COM, EJB, Fractal, …) Interface de contrôle fournie Environnement d’exécution Vue interne Interface de contrôle requise Interface fonctionnelle requise Vue externe Instance de composant Vue externe Interface fonctionnelle fournie Attribut de configuration Dépendance de déploiement samedi 17 décembre 2005 Attribut de déploiement Vue de déploiement 8

État de l’art Approches à composants Exemple de composant logiciel : Client SIT logiciel

État de l’art Approches à composants Exemple de composant logiciel : Client SIT logiciel en EJB samedi 17 décembre 2005 9

État de l’art Approches à composants Exemple de composant conception : le patron Composite

État de l’art Approches à composants Exemple de composant conception : le patron Composite de Gamma (Gamma, 1995) … Nom patron Composite Auteur E. Gamma Intention ce patron permet de gérer une composition récursive d’objets. Il définit des hiérarchies de classes d’objets simples et d’objets composites et facilite l’ajout des nouveaux composants. Solution samedi 17 décembre 2005 10

État de l’art Approches à composants Exemple de composant Analyse : Client SIT analyse

État de l’art Approches à composants Exemple de composant Analyse : Client SIT analyse dans Symphony Client SIT Analyse Symphony samedi 17 décembre 2005 11

État de l’art Approches à composants Bilan Approches à composants : • • Multitude

É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 samedi 17 décembre 2005 12

État de l’art I. II. Problématique État de l’art i. ii. Approches à composants

État de l’art I. II. Problématique État de l’art i. ii. Approches à composants Approches de recherche de composants III. Propositions IV. Expérimentations V. Conclusion et perspectives samedi 17 décembre 2005 13

État de l’art Classification externe Approches de recherche de composants Recherche comportementale Les techniques

État de l’art Classification externe Approches de recherche de composants Recherche comportementale Les techniques de recherche de composants Classification structurelle samedi 17 décembre 2005 Recherche par navigation 14

État de l’art Approches de recherche de composants Classification externe : classification par facettes

É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, … • Indexation sémantique Indexation manuelle Retrouver un composant Client du domaine métier SIT. samedi 17 décembre 2005 15

État de l’art Approches de recherche de composants Classification structurelle : appariement de signatures

É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 fonction Payer. Abonnement (p 1: Type 1) Rigueur mathématique, indexation automatique Langage de spécification, performance samedi 17 décembre 2005 16

État de l’art Approches de recherche de composants Recherche comportementale : analyse des traces

État de l’art Approches de recherche de composants Recherche comportementale : analyse des traces d’exécution (Podgursky, 1993) (Hall, 1993) (Chou, 1996) … Composant 1 Espaces des valeurs d’entrée Composant 2 Trace d’exécution Composant 3 Espaces des valeurs de sortie Filtrage Résultat • 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) Indexation automatique samedi 17 décembre 2005 Temps de réponse 17

État de l’art Approches de recherche de composants Recherche par navigation : navigation hypertexte

État de l’art Approches de recherche de composants Recherche par navigation : navigation hypertexte (Cybulski, 1993) (Jeng, 1993) (Freitag, 1994) … C 2 C 1 C 6 C 4 C 7 utilise C 5 C 3 hérite équivalent Organisation manuelle ou semi automatique, point de départ Raffinement samedi 17 décembre 2005 18

État de l’art Approches de recherche de composants Comparaison entre les techniques de recherche

É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. samedi 17 décembre 2005 19

État de l’art Bilan Approches de recherche de composants : • • Multitude de

É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 samedi 17 décembre 2005 20

Plan I. III. IV. V. Problématique État de l’art Propositions Expérimentations Conclusion et perspectives

Plan I. III. IV. V. Problématique État de l’art Propositions Expérimentations Conclusion et perspectives samedi 17 décembre 2005 21

Propositions Cadre retenu Hétérogénéité des niveaux d’abstraction de composants conception réalisation Environnement d’aide à

Propositions Cadre retenu Hétérogénéité des niveaux d’abstraction de composants conception réalisation Environnement d’aide à la réalisation et à l’utilisation de composants Classification externe, classification structurelle, … Hétérogénéité des techniques de recherche de composants samedi 17 décembre 2005 EJB, CCM, Patrons, … Ingénieur de composants Hétérogénéité des équipes Ingénieur d'applications Hétérogénéité des modèles et des sources de composants expression des besoins 22

Propositions Architecture Environnement SGBDC M-Sigma SRC Instance Utilise C-Sigma Instance Modèle de SRC Utilise

Propositions Architecture Environnement SGBDC M-Sigma SRC Instance Utilise C-Sigma Instance Modèle de SRC Utilise B-Sigma TRC Gestion des composants Recherche de composants samedi 17 décembre 2005 23

Plan III. Propositions i. ii. La base B-Sigma et le modèle C-Sigma Le Système

Plan III. Propositions i. ii. La base B-Sigma et le modèle C-Sigma Le Système de Gestion de Bases Descriptives de Composants iii. Le Système de Recherche de Composants iv. Une TRC structurelle externe spécifique samedi 17 décembre 2005 24

Propositions La base B-Sigma Objectif : Gestion de composants et de leurs relations Niveau

Propositions La base B-Sigma Objectif : Gestion de composants et de leurs relations Niveau analyse Niveau conception Niveau logiciel utilise raffine implante imite Composant métier Composant samedi 17 décembre 2005 25

Propositions La base B-Sigma Exemple de composants gérés dans B-Sigma utilise imite Patron Rôle

Propositions La base B-Sigma Exemple de composants gérés dans B-Sigma utilise imite Patron Rôle Client analyse raffine Patron Composite Client …Conception CCM … Client Logiciel CCM raffine utilise Agent Conception EJB … implante utilise Client Logiciel EJB Composant métier Client samedi 17 décembre 2005 Utilise Client Conception EJB implante Agent analyse utilise Agent Logiciel EJB … Composant métier Agent 26

Propositions La base B-Sigma Exemple de description du composant Client SIT logiciel en EJB

Propositions La base B-Sigma Exemple de description du composant Client SIT logiciel en EJB Description de composants Réutilisation Modèle de composants samedi 17 décembre 2005 27

Propositions La base B-Sigma Les concepts samedi 17 décembre 2005 28

Propositions La base B-Sigma Les concepts samedi 17 décembre 2005 28

Propositions Le modèle C-Sigma Organisation Modèle Abstrait Modèle Concret samedi 17 décembre 2005 29

Propositions Le modèle C-Sigma Organisation Modèle Abstrait Modèle Concret samedi 17 décembre 2005 29

Propositions Le modèle C-Sigma Organisation Modèle Abstrait Modèle Concret samedi 17 décembre 2005 30

Propositions Le modèle C-Sigma Organisation Modèle Abstrait Modèle Concret samedi 17 décembre 2005 30

Plan III. Propositions i. ii. La base B-Sigma et le modèle C-Sigma Le Système

Plan III. Propositions i. ii. La base B-Sigma et le modèle C-Sigma Le Système de Gestion de Bases Descriptives de Composants iii. Le Système de Recherche de Composants iv. Une TRC structurelle externe spécifique samedi 17 décembre 2005 31

Propositions Le SGBDC Positionnement : le métamodèle du SGBDC, une extension d’UML Métamodèle MOF

Propositions Le SGBDC Positionnement : le métamodèle du SGBDC, une extension d’UML Métamodèle MOF ? Métamodèle UML M-Sigma Modèle UML du SI C-Sigma Système d’information B-Sigma samedi 17 décembre 2005 32

Propositions Le SGBDC Le métamodèle M-Sigma : Extension du métamodèle UML M-Sigma samedi 17

Propositions Le SGBDC Le métamodèle M-Sigma : Extension du métamodèle UML M-Sigma samedi 17 décembre 2005 33

Propositions Le SGBDC Le métamodèle M-Sigma Core package Classifiers samedi 17 décembre 2005 34

Propositions Le SGBDC Le métamodèle M-Sigma Core package Classifiers samedi 17 décembre 2005 34

Propositions Le SGBDC Le métamodèle M-Sigma Core package Backbone samedi 17 décembre 2005 35

Propositions Le SGBDC Le métamodèle M-Sigma Core package Backbone samedi 17 décembre 2005 35

Propositions Le SGBDC Le métamodèle M-Sigma Core package Relationships samedi 17 décembre 2005 36

Propositions Le SGBDC Le métamodèle M-Sigma Core package Relationships samedi 17 décembre 2005 36

Propositions Le SGBDC Le métamodèle M-Sigma Package Data Type samedi 17 décembre 2005 37

Propositions Le SGBDC Le métamodèle M-Sigma Package Data Type samedi 17 décembre 2005 37

Propositions Le SGBDC Exemple samedi 17 décembre 2005 38

Propositions Le SGBDC Exemple samedi 17 décembre 2005 38

Plan III. Propositions i. ii. La base B-Sigma Le système de gestion de bases

Plan III. Propositions i. ii. La base B-Sigma Le système de gestion de bases descriptives de composants iii. Le Système de Recherche de Composants iv. Une TRC structurelle externe spécifique samedi 17 décembre 2005 39

Propositions Le SRC Objectif Prendre en compte l’hétérogénéité des TRC • • Par un

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 samedi 17 décembre 2005 40

Propositions Le SRC Modèle de SRC samedi 17 décembre 2005 41

Propositions Le SRC Modèle de SRC samedi 17 décembre 2005 41

Propositions Le SRC Exemple de requête composite : Requête utilisateur = R 1 et

Propositions Le SRC Exemple de requête composite : Requête utilisateur = R 1 et (R 2 ou R 3) et R 4 • R 1 : retrouver un composant métier Client du domaine SIT. • R 2 : qui admet une implantation réalisée avec la technologie EJB. • R 3 : qui admet une implantation réalisée avec la technologie CCM. • R 4 : qui offre une fonction Payer. Abonnement() samedi 17 décembre 2005 42

Propositions Le SRC Modèle de SRC Simple Query Package samedi 17 décembre 2005 43

Propositions Le SRC Modèle de SRC Simple Query Package samedi 17 décembre 2005 43

Propositions Le SRC Modèle de SRC Query Integration Package samedi 17 décembre 2005 44

Propositions Le SRC Modèle de SRC Query Integration Package samedi 17 décembre 2005 44

Propositions Le SRC Modèle de SRC Components Retrieval System Package samedi 17 décembre 2005

Propositions Le SRC Modèle de SRC Components Retrieval System Package samedi 17 décembre 2005 45

Propositions Le SRC Bilan • Possibilité de composer des TRC • Possibilité d’utiliser les

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 samedi 17 décembre 2005 46

Plan III. Propositions i. ii. La base B-Sigma et le modèle C-Sigma Le Système

Plan III. Propositions i. ii. La base B-Sigma et le modèle C-Sigma Le Système de Gestion de Bases Descriptives de Composants iii. Le Système de Recherche de Composants iv. Une TRC structurelle externe spécifique samedi 17 décembre 2005 47

Propositions Une TRC spécifique Objectif : reconnaissance par appariement de diagrammes de classes Exemple

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 Diagramme de classes d’un composant réutilisable (Source) Diagramme de classes d’une requête utilisateur (Cible) samedi 17 décembre 2005 48

Propositions Une TRC spécifique Utilisation de la logique du premier ordre • Description des

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 samedi 17 décembre 2005 49

Propositions Une TRC spécifique Le processus de recherche samedi 17 décembre 2005 50

Propositions Une TRC spécifique Le processus de recherche samedi 17 décembre 2005 50

Propositions Une TRC spécifique Génération d’une spécification source • • entité(id_Classe_1) nom_entité(id_Classe_1, Component) classe(id_Classe_1)

Propositions Une TRC spécifique Génération d’une spécification source • • entité(id_Classe_1) nom_entité(id_Classe_1, Component) classe(id_Classe_1) classe_abstraite(id_Classe_1) • • entité(id_opération_1) nom_entité(id_opération_1, Operation) opération(id_opération_1) entité(id_signature_1) signature(id_signature_1) classe_opération(id_classe_1, id_opération_1, id_signature_1) opération_abstraite(id_opération_1) visibilité(id_opération_1, publique) samedi 17 décembre 2005 51

Propositions Une TRC spécifique Génération d’une spécification cible _id_Classe_11, _Nom. Classe, …, _visibility 1

Propositions Une TRC spécifique Génération d’une spécification cible _id_Classe_11, _Nom. Classe, …, _visibility 1 Diagramme source entité(_id_Classe_11) nom_entité(_id_Classe_11, _Nom. Classe) classe(_id_Classe_11) classe_abstraite(_id_Classe_11) Diagramme cible entité(_id_opération_11) nom_entité(_id_opération_11, _Nom. Operation) Appariement : 5 résultats opération(_id_opération_11) entité(_id_signature_11) signature(_id_signature_11) classe_opération(_id_classe_11, _id_opération_11, _id_signature_11) visibilité(_id_opération_11, _visibility 1) Requête (_id_Classe_11, _Nom. Classe, …, _visibility 1) samedi 17 décembre 2005 52

Propositions Génération d’une spécification cible _id_Classe_11, _Nom. Classe, …, _visibility 1 Diagramme source entité(_id_Classe_11)

Propositions Génération d’une spécification cible _id_Classe_11, _Nom. Classe, …, _visibility 1 Diagramme source entité(_id_Classe_11) nom_entité(_id_Classe_11, _Nom. Classe) classe(_id_Classe_11) classe_abstraite(_id_Classe_11) Une TRC spécifique Diagramme cible entité(_id_opération_11) nom_entité(_id_opération_11, Operation) Appariement : 1 résultat opération(_id_opération_11) entité(_id_signature_11) signature(_id_signature_11) classe_opération(_id_classe_11, _id_opération_11, _id_signature_11) Pourquoi pas 3 résultats puisque la méthode Operation() est transmise visibilité(_id_opération_11, _visibility 1) par héritage aux classes Composite et Leaf ? Requête (_id_Classe_11, _Nom. Classe, …, _visibility 1) samedi 17 décembre 2005 53

Propositions Une TRC spécifique Exploitation de métaconnaissances • Propagation des généralisation. propriétés par la

Propositions Une TRC spécifique Exploitation de métaconnaissances • Propagation des généralisation. propriétés par la – Opérations, attributs, associations, interfaces • Mécanisme de relaxation des critères de recherche – Type des associations – Type, ordre et nombre des paramètres des opérations samedi 17 décembre 2005 54

Plan I. III. IV. Problématique État de l’art Propositions Conclusion et perspectives samedi 17

Plan I. III. IV. Problématique État de l’art Propositions Conclusion et perspectives samedi 17 décembre 2005 55

Conclusion Un environnement permettant : – La gestion de composants hétérogènes par leur niveau

Conclusion Un environnement permettant : – La gestion de composants hétérogènes par leur niveau d’abstraction, leurs modèles et leurs sources – La recherche de composants par des techniques hétérogènes dans un environnement unifié Un environnement évolutif : – Par sa structure – Par la démarche spécifiée dans le guide méthodologique sous forme d’un système de patrons Un prototype validant cet environnement … samedi 17 décembre 2005 56

Conclusion samedi 17 décembre 2005 Prototype SGBDC 57

Conclusion samedi 17 décembre 2005 Prototype SGBDC 57

Conclusion samedi 17 décembre 2005 Prototype SRC 58

Conclusion samedi 17 décembre 2005 Prototype SRC 58

Perspectives • SGBDC – Passer du prototype à un environnement à plus grande échelle

Perspectives • SGBDC – Passer du prototype à un environnement à plus grande échelle • SRC – Étendre la TRC pour d’autres diagrammes UML ( Précision/Rappel) et intégrer d’autres TRC – Étudier les fonctions de fusion de requêtes • Alimentation des BDC – Étudier le processus d’alimentation des BDC – Étudier la possibilité d’utiliser des techniques de routage et de filtrage • Adopter une architecture à base de composants connectables samedi 17 décembre 2005 59

Merci samedi 17 décembre 2005 60

Merci samedi 17 décembre 2005 60