• Aucun résultat trouvé

Composants et Services

Dans le document LIRMM RAPPORT D’ACTIVITÉS 2005-2008 (Page 134-137)

M. Huchard, C. Tibermacine, Z. Azmeh (doct), J.-R. Falleri (doct), N. Desnos (doct. EMA), F. Hamoui (doct. EMA), G.

Arevalo (postDoc.) collaboration avec l’EMA-LGI2P (C Urtado, S Vauttier).

Le développement par composants est un nouveau domaine actif du génie logiciel dans lequel on étudie la spécifi cation et la réalisation des applications par assemblage de composants réutilisables développés

indépendamment les uns des autres. Le composant est une abstraction de plus haut niveau que l’objet en ce qu’il spécifi e, ou expose, non seulement les services ou opérations qu’il fournit mais également ceux qu’il requiert ainsi que la façon dont il peut être paramétré.

L’approche à composants introduit également les connexions entre composants, desquelles résultent les assemblages. Les connexions peuvent être réalisées de façon extérieure aux composants, par exemple par un architecte logiciel.

L’ensemble des études réalisées en 2005-2008 dans l’équipe DOC ont porté sur deux grands axes du logiciel à composants et services :

d’une part l’étude de la composition, des dépendances d’assemblage, de la constitution d’annuaires et d’autre part la réalisation de langages de modélisation, de programmation et de description d’architectures dédiés à ce nouveau paradigme.

Axe «Recherche, Composition, Annuaires»

Deux points de vue complémentaires sur les architectures à base de composants et de services sont étudiés.

Le premier concerne l’aide à l’assemblage de composants par une résolution des dépendances ainsi que l’aide à la substitution de composant en cas de défaillance ou d’évolution des besoins (CBSE’07 [15], JSME [16]). L’approche consiste à décrire les interactions prévues dans des ports à différents niveaux d’imbrication. Ces ports facilitent ensuite la résolution des dépendances en favorisant la découverte des assemblages corrects syntaxiquement tout en restant dans des temps de calcul réalistes. La substitution est traitée en permettant le remplacement d’un composant par un assemblage plutôt que par un unique composant comme le proposent les méthodes existantes, ce qui fait sa force. Pour la résolution de dépendances, il est clair que la recherche des composants dans un répertoire existant est un élément d’effi cacité, ce qui nous amené au deuxième volet décrit ci-après.

Le deuxième point de vue s’intéresse à la construction d’annuaires de composants ou de services web. Partant

135 d’une extension aux composants du typage dans les

langages à objets, nous proposons tout d’abord un modèle de description syntaxique des composants qui permet de construire une classifi cation des fonctionnalités, des interfaces et enfi n des composants (IJGS [17]). Ces différentes classifi cations, dont chacune s’appuie sur les éléments classés à l’étape précédente, sont élaborées à l’aide de l’AFC. Elles permettent tout à la fois de lire aisément les relations de substitution entre composants et de découvrir des fonctions, des interfaces ou des composants plus généraux (auxquels d’autres peuvent se substituer), dont l’usage dans des assemblages assure une certaine généricité à la construction. Nous avons également débuté l’étude du catalogage de services web, toujours en exploitant les propriétés de l’AFC pour la construction de classifi cations.

Axe « Langages de Modélisation, de Programmation et de Description d’Architectures »

Le projet COSARC, mené en collaboration avec le département Robotique du LIRMM (David Andreu), a constitué une première étude relative à la programmation par composants. Il a été réalisé autour de la thèse de Robin Passama soutenue en juin 2006, portant sur une approche par objet et par composants pour la spécifi cation et la programmation de contrôleur de robots. Sur la base d’une analyse objet d’un contrôleur typique de robot d’intervention, nous avons imaginé un langage de spécifi cation et de programmation par composant dédié, qui a ouvert la voix dans ce contexte à une approche de développement permettant une rétilisation des objets et des procédés novatrice (JESA’08 [18], CESA06 [19). Dans le projet COSARC, nous avons également fait le constat de diversité actuelle des modèles de composants et, parallèlement, celui de l’absence de vrais langages de programmation par composants. Les rares prototypes existants laissent de nombreuses questions non traité ou laissent au programmeur le choix cornélien de savoir s’il doit implémenter un concept par un objet ou par un composant, les deux entités n’ayant pas dans ces

langages les mêmes propriétés.

Le projet SCL a été en premier lieu mené autour de la thèse de Luc Fabresse soutenue en 2007, dans laquelle sont explicitées les abstractions et les structures de contrôles essentielles de la programmation par composants via le développement d’un langage SCL (Simple Component Language) opérationnel (CLSS08 [20], ESUG07 [21]). SCL est accessible en ligne (voir http://www.lirmm.fr/~fabresse/). SCL propose un noyau minimal qui permet la programmation de base (interfaces, invocation de services au travers de ports, connections et composants connecteurs, passage de composants en arguments, autoréférence, rock-bottom composants). Sur ce noyau de base est implantée une couche de connexion intégrant la notion d’aspect. Le projet se poursuit avec la suite du développement du langage et la réalisation d’un langage de description d’architecture (CLACS) dont les applications sont compilées vers SCL (thèse d’Asadulla Kehar débutée en 2008). Une adaptation du langage SCL dans le domaine des applications Web est en cours d’étude (stage M2 de Fahad Golda débuté en janvier 2009). Ce travail se place dans la continuité des recherches débutées en 2007, en collaboration avec le VALORIA, et portant sur la construction du tiers présentation des applications Web riches avec des composants logiciels hiérarchiques (WISE’07 [22]).

Pour le futur

La prospective pour l’axe «Recherche, Compositions, Annuaires» porte sur l’évolution des techniques de catalogage et de recherche facilitant ou en automatisant l’adaptation, la construction et la maintenance d’assemblages. Un défi du domaine consiste à mettre à disposition des environnements permettant à terme à l’utilisateur grand public de construire des exigences, ou un scénario, ou encore un assemblage basé sur une vue haut niveau de composants ou de services existants, puis qui génère automatiquement une architecture exécutable. Une application en début d’étude avec

l’EMA concerne le domaine de la domotique.

Pour l’axe «Langages», le premier défi relatif est de fi naliser la réalisation d’un langage de modélisation d’architecture (évolution de CLACS) et celle d’un véritable langage de programmation par composants (évolution de SCL) réfl exif (permettant la transformation de modèles) et intégrant l’héritage entre descripteurs.

Un défi global du domaine est de d’expliciter le passage du concept de référence à celui de connexion, qui constitue une évolution majeure liée à l’approche

«composant». En particulier, il est indispensable, si toutes les entités manipulées dans un programme sont des composants, de pouvoir les passer en argument aux services, ce qui suppose donc de régler le problème du

«passage par connexion». Un langage de modélisation d’architecture doit permettre l’expression de modèles structurels de composants incluant des descripteurs de composants analogues aux classes et de modèles d’applications présentant des composants inter connectés, la distinction entre ces deux sortes de modèles et les transformations correspondantes n’étant actuellement pas réalisées. In fi ne, nous pensons que le composant englobe les notions d’aspect et de service et un défi pour les langages précédemment évoqués est de les intégrer harmonieusement.

Ingénierie des systèmes d’information des systèmes complexes

T. Libourel , I. Mougenot, P. Reitz, P. Vismara, B. Valery (doct), A. Miralles (doct. puis assoc. - CEMAGREF), M-A.

Laporte (doct.), Y. Lin (doct), P. Martin (doct.), C. Laurenço (assoc. - ENSCM HMM/LSIC UMR 5076), P. Jaufret (assoc. - ENSCM HMM/LSIC UMR 5076)

Ce thème recouvre des activités de modélisation et de raisonnement liées à la prise en compte de données complexes relevant des domaines environnementaux et du monde de la chimie organique et ce pour mieux comprendre les systèmes les intégrant.

Axe « Systèmes d’information environnementaux » Les systèmes d’information des systèmes complexes nécessitent une méthodologie de mise en œuvre spécifi que. Les problèmes peuvent être appréhendés à partir de divers paradigmes (objets et composants, modèles discrets, etc.). Les architectures, notamment dans le cadre d’Internet, doivent de même être pensées en termes de distribution et de localisation de l’information. Les modèles sont au cœur de nos préoccupations : la méta-modélisation (MOF), les approches basées sur des transformations de modèles (MDA), ainsi que l’intégration des techniques d’intelligence artifi cielle (ontologies, représentation des connaissances, couplage de modèles dynamiques) font partie intégrante de notre démarche. Nous classons les résultats de nos travaux dans les catégories suivantes.

a) Méthodologie et outil d’aide à l’analyse et à la conception de systèmes d’information mettant en œuvre l’information géoréférencée. Ces travaux ont été menés notamment au cours de la thèse d’André Miralles et testé dans le cadre du projet ANR sur la «Conception d’Observatoires de Pratiques Territorialisées» (COPT).

La réfl exion a porté sur la mise en œuvre d’une méthode de conception de Systèmes d’Information Géographique adaptée à un processus de développement permettant le prototypage rapide et assurant la capitalisation des connaissances. La méthode assure la gestion, la cohérence et la traçabilité des modèles représentant les phases de développement successives (analyse, conception et implémentation) d’un système d’information et s’appuie sur des transformations de modèles. L’outil fi nal a été implémenté dans l’atelier de génie logiciel Objecteering. Ces diverses avancées ont donné lieu à plusieurs publications dans des revues ou journaux et communications (Encyclopedia of Geographical Information Sciences [23], Systèmes d’Information Spatio-Temporels Revue ISI 2005 [24]).

b) Architectures de médiation et d’intégration de

données (géoréférencées et biologiques) réalisées à partir de métadonnées et ontologies. Cette thématique est menée en collaboration avec plusieurs organismes de recherche montpelliérains (Cirad, Cemagref, IRD). Les propositions relatives à la localisation puis à l’intégration de données ont donné lieu à diverses publications et présentations : Multimedia Tools and Applications [25]. Nous avons aussi mené des réfl exions relatives à la qualité de l’information et à la traçabilité (mise en place de chaînes de traitements INFORSID’08). L’ensemble des réfl exions est matérialisé par notre contribution au développement d’un outil de localisation et de mutualisation (MD-WEb, http://www.

mdweb-project.org/) en partenariat régional avec l’IRD, le Cemagref et la région Languedoc-Roussillon.

c) Couplage de modèles de simulation numériques et prise en compte des hétérogénéités d’échelle en appréhendant le modèle sous la forme d’une représentation de connaissances. Ce chantier a été conduit dans le cadre de la thèse de Pierre Martin et du projet européen SEAMLESS. Les travaux visent à apporter une solution au couplage de modèles en vue de simuler le comportement de systèmes agricoles. L’utilisation d’un formalisme mathématique (théorie catégorielle) a permis la réalisation du composant Soilwater2 inséré dans la plateforme APES (http://www.apesimulator.it/) Pour le futur

La prospective sur cet axe reste liée à la compréhension des phénomènes complexes. Nous postulons que la discrétisation de ces phénomènes reste un enjeu majeur (agrégation/désagrégation), et qu’il est indispensable de traiter les changements d’échelles spatiales et temporelles intervenant dans les processus.

Le domaine relevant de sciences expérimentales (domaines environnementaux), la pérennité des expérimentations et des modélisations doit être réalisée par une chaîne complète et continue de traitements depuis l’acquisition jusqu’à l’aide à la décision. Cela nécessite l’intégration et l’assemblage de services ou

traitements en s’appuyant sur la connaissance experte des domaines concernés. Ces perspectives s’inscrivent dans la ligne de plusieurs projets en cours de montage :

• a) Conception d’Observatoires Environnementaux (phénomènes anthropiques et naturels, risque, santé et écologie) que nous comptons mener en collaboration avec les universités Antilles-Guyane, de La Réunion et de Nouvelle Calédonie,

• b) Réalisation de modèles de chaînes de traitements (projet Cartam-Sat IRD),

• c) Construction collaborative d’ontologies (projet Ontotrait collaborations internationales avec des partenaires hollandais, allemand et américain).

Axe « Systèmes d’information en Chimie »

La modélisation de systèmes d’information pour la chimie est une activité historique de l’équipe puisqu’elle développe depuis dix ans le système RESYN, un système de RCO où sont combinés programmation par objets, raisonnement par classifi cation et raisonnement à partir de cas. De tels systèmes sont utilisés par les chimistes pour résoudre des problèmes comme la synthèse de molécules complexes. Il s’agit non seulement de modéliser et de représenter les objets complexes que sont les structures moléculaires et les réactions mais aussi de concevoir les algorithmes permettant de percevoir les propriétés de ces objets.

Cette modélisation des objets chimiques s’est notamment effectuée dans le cadre d’une participation au projet européen ENCORE (Encyclopédie de Chimie Organique électronique). Nous avons poursuivi notre travail sur la comparaison de graphes chimiques et plus particulièrement la recherche de symétries potentielles dans une molécule [26]. Dans le cas des réactions chimiques, nous avons abordé le problème du mapping entre les atomes des réactifs et des produits. Ce problème s’apparente à la recherche d’un plus grand sous-graphe commun [27]. Dans le cadre d’un PEPS sur l’extraction de connaissances dans les bases de données

136

137 chimiques, avec le LORIA Nancy et l’ENSC Montpellier,

nous avons étudié la classifi cation d’objets chimiques et mis en pratique le prototype Resyn-Assistant d’aide à l’analyse de molécules que nous développons depuis 1998. Nous avons également proposé une formalisation opérationnelle de la notion de cycles aromatiques et conçu et implémenté un algorithme de perception. Ces deux derniers travaux ont abouti à des articles soumis à une revue internationale.

Pour le futur

La prospective sur cet axe reste liée à un des principaux défi s relatifs aux systèmes d’information pour la chimie:

la conception d’outils génériques pour comparer des objets chimiques (sous-structures moléculaires) en s’appuyant sur des modélisations de la connaissance du domaine.

Dans le document LIRMM RAPPORT D’ACTIVITÉS 2005-2008 (Page 134-137)