![]() |
![]() |
![]() |
![]() |
|
|
|
| Bienvenue | Wiki-COCOA / Main / Description | Éditer Historique Imprimer |
|
COCOA Intranet Localisation : |
DescriptionGroupe Cocoa de l'équipe GOAL Nos travaux se situent dans le domaine du génie logiciel à objets et composants, et plus récemment dirigé par les modèles (Ingénierie Dirigée par les Modèles). Ces paradigmes visent à offrir des solutions au problème de rationalisation de la production logicielle et à la fois de réactivité au changement, fonctionnel ou technologique. Cette problématique se pose en particulier dans la conception de grands logiciels comme les systèmes d'information, et leur nécessaire synchronisation avec l'organisation sous-jacente, ou plus récemment les applications ubiquitaires, où la "valse technologique" est importante. Le besoin de capitalisation des efforts, de séparation des préoccupations et de réutilisation est important et les techniques à objets et composants logiciels offrent des avancées certaines. L'Ingénierie Dirigée par les modèles vise quant à elle à monter en abstraction par une démarche systématique de modélisation (capitalisable) indépendante de choix technologiques, et inversement à mécaniser le plus possible les processus de production. De nombreux problèmes se posent pour structurer l'espace de modélisation, gérer la multitude et la variété des modèles, offrir des opérateurs de transformation et de composition, faciliter les ciblages et la traçabilité. Nous adressons plus particulièrement le problème de la réutilisation de modèles partiels de systèmes, capitalisant des fonctions récurrentes, au sens de nos précédents travaux sur la conception par vues, de SOD (Subject Oriented Design), des frameworks de Catalysis, ou encore des templates du standard UML. Les travaux de thèse d'Alexis Muller proposent une démarche de construction de systèmes fondée sur une notion de "composant de modèles" générique, paramétré par un "modèle requis" et fournissant un modèle enrichi fonctionnellement. La construction revient alors à assembler de tels composants par l'intermédiaire d'un opérateur d'application de modèles paramétrés, contraint par des règles de conformité. Des propriétés d'ordre ont été étudiées, qui permettent de garantir la cohérence des alternatives de composition et d'assemblage de systèmes. De plus ces propriétés rendent ce modèle hiérarchique, ce qui permet de construire également des modèles paramétrés par composition et donc des bibliothèques. A un niveau processus d'ingénierie, nous avons proposé une approche flexible et traçable de projection fonction des choix architecturaux (fusion/éclatement) et des caractéristiques logicielles et techniques attendues. Nous avons par ailleurs défini une notion de processus de modélisation incrémental, défini comme une suite d’étapes dont l’enchaînement est contraint par des pré- et post-conditions. L’activité de construction peut ainsi être contrôlée au fil de l’eau pour vérifier la création de modèles bien formés (conformes à leur métamodèle et ses contraintes) à chaque étape, tout en permettant des états transitoires inconsistants (au sein des étapes de construction). A un niveau technologique, les composants de modèles sont formulés en UML2 à l'aide d'un métamodèle structurel muni de contraintes OCL. Différentes stratégies de mise en oeuvre ont été expérimentées conformément à un patron de conception par vues que nous avions défini dans des recherches précédentes (publiée à la Conférence OOIS'2003, LNCS 2917). Des ciblages ont été expérimentés en Fractal et CCM en le couplant au patron "Adaptateur". Au niveau langage, la conception par vues conduit à une forme de programmation modulaire par contextes que nous avons comparé à la programmation par aspects telle qu'offerte par AspectJ. De l'outillage pour l'IDM est développé sur ces bases dans les standards EMF (Eclipse Modeling Framework) d'Eclipse et MOF (MetaObject Facility) de l'OMG. La méta-génération d'environnements de modélisation interactive dédiés a été étudiée dans le cadre de la thèse de Bassem Kosayba. A un niveau plus expérimental, des travaux ont été menés dans le monde de la carte à puce sur la configuration de famille de produits en collaboration avec la société Gemplus sur (thèse de Stéphane Bonnet), dans le domaine du Web et des EIAH (Environnements Informatiques pour l'Apprentissage Humain) en collaboration avec l'équipe Noce, et enfin sur la conception d'applications ubiquitaires dans le cadre du projet régional Mosaiques. Nos travaux se poursuivent sur la généralisation du paramétrage, et l'étude des formes de généricité (telles que la variabilité) à toute catégorie de modèles, y compris de processus. Les domaines applicatifs visés sont plus particulièrement le Web et les services télécom et convergents (en collaboration avec l'Institut Telecom). |
| Éditer Historique Imprimer Changements récents |