• Aucun résultat trouvé

Le processus de sélection et les difficultés qu‟il pose

Chapitre 5 Les travaux sur les architectures et les composants

5.3 La sélection de composants

5.3.3 Le processus de sélection et les difficultés qu‟il pose

La Figure 5-8 récapitule l‟ensemble des activités que l‟on rencontre lors de la recherche d‟un composant, en tenant compte de l‟état actuel des marchés et des bibliothèques de composants.

La première étape d‟un processus de sélection consiste à décrire les propriétés du composant recherché (étape 1 sur Figure 5-8). Or, à ce jour, il n'existe pas de format de documentation de composants faisant consensus. Chaque marché utilise son propre format aussi bien pour documenter les aspects fonctionnels (opérations fournies et requises) que non-fonctionnels (niveau de fiabilité, sécurité, technologie support, prix, origine...). De plus, un marché peut fournir des informations qu'on ne retrouvera pas dans un autre marché. Pire, au sein d'un même marché peuvent coexister plusieurs formats différents. Cette hétérogénéité est liée suivant les cas : à la présence au sein d'un même marché de composants développés dans des technologies différentes qui supposent donc la mise à disposition d'informations propres à l'une ou l'autre de ces technologies ou au caractère laxiste du marché qui autorise l'enregistrement de composants sans pour autant contraindre la complétude ou le format des informations fournies.

Le premier problème qui se pose est donc celui du choix du langage à utiliser pour réaliser cette description.

En supposant documenté le composant recherché dans un langage Lcomp ad hoc (dont l‟ensemble des mots constitue ce que nous appelons l‟espace de comparaison Ecomp), il faut ensuite parcourir plusieurs marchés et bibliothèques pouvant comporter des milliers de composants (étape 2 sur la Figure 5-8). Malheureusement, rien qu'en se limitant aux marchés de composants disponibles sur internet, on constate que l'accès à leur documentation se fait selon des modes et des critères très différents. Au niveau des modes, l‟utilisateur peut disposer de mécanismes de recherche usant de requêtes simples (par exemple une liste de mots clés), une navigation arborescente (respectant un plan de classement) ou une navigation hypertextuelle (navigation dans un réseau de nœuds et de liens créés par des associations entre des mots et entre des documents). Quoi qu‟il en soit, les modes d‟accès proposés restent primitifs. Ils permettent au mieux de circonscrire la recherche à quelques éléments.

L‟hétérogénéité prévaut également au niveau des critères de filtrage offerts. Les composants sont regroupés dans certains marchés par thème de manière arborescente et totalement propriétaire. Ainsi, le marché ComponentSource2 permet de filtrer ses composants selon leur

2 Pour plus d'informations: http://www.componentsource.com/index.html

Marché A

Marché B

Marché C

Ecomp Espaces de documentation

2 3

1

Meilleur

Figure 5-8 Le processus de sélection

I : Ensemble totalement ordonné

4 TEd->Ecomp Ed Ec Eb Ea TEc->Ecomp TEa->Ecomp TEb->Ecomp

domaine d'application : image, programmation, communication internet, etc. D'autres marchés, au contraire, livrent les composants tels quels, sans classement particulier. Si on peut supposer que certains marchés offriront dans l‟avenir des mécanismes de recherche plus ou moins complets pour faciliter la découverte de leurs composants, il y a peu d'espoir qu'à terme un protocole standard unique de consultation, respecté de tous, émerge. Il est donc nécessaire, si l'on souhaite interroger plusieurs marchés, de prévoir pour chacun d'entre eux une procédure d'accès spécifique permettant de tirer profit des mécanismes et critères de filtrage mis à disposition.

Cela impose, d’une part d’extraire depuis le modèle du composé recherché (conforme à Lcomp) des informations utiles et, d’autre part, la constitution sur la base de ces informations d’une « requête » permettant d’user des mécanismes de consultation propres à chaque marché.

Sous réserve d‟avoir su jongler avec des mécanismes de consultation différents, il a sans doute été possible, pour chaque marché, de restreindre l‟espace des composants à examiner. Un travail important reste encore à faire : comparer et classer tous les candidats prometteurs isolés dans chacun des marchés. Tâches d‟autant plus ardues qu‟elles imposent, entre autres, l‟analyse de documentations souvent écrites dans des formats disparates. Les comparaisons devant se faire par rapport aux besoins exprimés, elles doivent prendre place tout naturellement dans l'espace de comparaison Ecomp. Il est donc nécessaire de « projeter » dans cet espace l'intégralité des descriptions des composants identifiés dans les divers marchés lors de l‟étape précédente (étape 3 de Figure 5-8).

On doit disposer, pour chaque langage Li de description de composant utilisé dans un marché (auquel correspond un espace des modèles conformes Ei), d’un mécanisme de traduction vers une description conforme au modèle de comparaison.

Formellement, cette traduction est une fonction que l‟on souhaite totale, que nous notons TEi->Ecomp, de signature Ei → Ecomp. En théorie, deux descriptions différentes d‟un espace Ei peuvent être projetées sur la même description de Ecomp (la traduction est alors non injective). A l'inverse certaines descriptions de l'espace de comparaison ne sont pas atteignables depuis l'espace Ei (la traduction est non surjective). Ces phénomènes sont liés respectivement au manque de puissance du langage de comparaison Lcomp qui peut omettre certaines informations existantes dans le langage de Li ou à l'inverse à une puissance supérieure du langage de comparaison par au rapport au langage Li.

D'un point de vue pratique, il est nécessaire de proposer autant de fonctions de traduction qu'il existe de formats de description dans les bibliothèques et marchés existants. C'est un travail important qui ne saurait prétendre à l'exhaustivité, d'autant plus délicat que les formats en question ne sont que rarement explicités et encore moins formalisés. Dans le cas de ComponentSource, mis à part les pages Web officielles qui contiennent certaines informations, les documentations proposées par les fournisseurs sont très inégales d'un composant à l'autre, certains d'entre eux n'en possédant même pas. Comme il est illusoire d'automatiser la construction de ces formats en partant de la description des composants, on doit se résoudre à écrire ces traductions à la main au cas par cas, par paquet de composants à peu près respectueux d‟un même format documentaire.

Une fois l’ensemble des composants décrits dans un même langage Lcomp, la dernière étape consiste à user d’un opérateur de comparaison pour classer les composants candidats.

Celui qui possède le “score de comparaison” le plus élevé est considéré comme le meilleur candidat. Pratiquement, les opérateurs de comparaison de la littérature utilisent des techniques de prise de décision multicritères (Multi-Criteria Decision Methods, MCDM). Il en existe beaucoup. Les plus utilisées dans le monde des composants sont WSM (Weighted Scoring Method) et AHP (Analytic Hierarchy Process). La technique WSM est la plus simple. Elle consiste à utiliser la formule suivante pour chaque composant candidat : score= . Le poids wi représente l'importance du i-ème critère par rapport aux autres. Le score local si évalue le degré de satisfaction du critère numéro i par le candidat étudié. Un critère est une propriété

exprimée par le candidat recherché. Le score total, agrégation des scores locaux, représente la valeur globale d'évaluation d‟un composant. AHP est une technique qui met en œuvre un procédé d‟agrégation des scores locaux plus sophistiqué. Ce procédé s‟appuie sur un arbre hiérarchique de critères et de sous-critères d'évaluation, dont les feuilles sont les candidats à évaluer. A l'intérieur de chaque critère-nœud, on détermine l'importance de chaque sous-critère par rapport aux autres.