User Tools

Site Tools


public_namespace:composition_ocl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
public_namespace:composition_ocl [2007/01/17 17:59]
lahire créée
— (current)
Line 1: Line 1:
-====== Modélisation,​ composition et transformation de modèles ====== 
- 
-===== Présentation générale et objectifs scientifiques ===== 
- 
-Le domaine de recherche attaché à cet axe (ex équipe OCL) est le génie logiciel. Dans le cadre d'​applications en rapide évolution, l'​équipe travaille sur la maîtrise des qualités logicielles obtenues, soit en amont par l'​adaptation et la composition de modèles de référence,​ soit en aval par la contractualisation des propriétés fonctionnelles et extrafonctionnelles. ​ Les approches en amont améliorent la capacité des applications et des modèles métiers (en 
-particulier des lignes de produits) à s'​adapter au contexte d'​utilisation,​ à se composer entre eux et à se rapprocher de l'​utilisateur. ​ 
- 
-Elles s'​appuient sur la métamodélisation,​ la séparation des préoccupations,​ les approches dirigées par les modèles et la description de langages métiers.  ​ 
-En aval, les techniques contractuelles sont développées pour s'​intégrer dans des  
-environnements à assemblage dynamique : composants hiérarchiques (système ​ 
-''​ConFract''​ pour ''​Fractal'',​ développé sous contrat avec ''​France Télécom R&​D''​),​ systèmes autonomiques et services. Les contrats s'​appuient sur divers ​ 
-formalismes de spécification,​ systèmes de métamodélisation pour calculer les responsabilités et négocier la résolution des problèmes détectés. 
- 
-==== Approches pour la réutilisation ==== 
- 
-L'​équipe (ex équipe OCL) développe depuis 1995 des approches pour le génie logiciel en s'​appuyant sur la technologie objet, la métaprogrammation et plus récemment sur la séparation des préoccupations. La délégation de Philippe ''​Lahire''​ à l'​Inria de septembre 2003 à août 2005 a été l'​occasion de confronter notre expertise aux problématiques de l'​informatique ubiquitaire. ​ 
- 
- 
-Le contexte très évolutif du marché nécessite de maximiser la réutilisation aussi bien au niveau du code des applications,​ qu'à celui des modèles. De même, l'​apparition continuelle de nouvelles technologies et plates-formes rend essentiel de représenter le savoir-faire d'un domaine donné au niveau des modèles et de pouvoir le faire évoluer de manière efficace, c'​est-à-dire sans nécessiter ou en limitant l'​intervention d'​informaticiens. ​ 
- 
-Pour répondre à ce besoin, nous nous sommes intéressés à la réutilisation du code, en améliorant la séparation des préoccupations et des  modèles, tout en privilégiant la description de modèles génériques et leur composition. Le plus souvent, les approches développées s'​appuient elles-mêmes sur des modèles et un langage dédié. 
- 
-==== Approche contractuelle ==== 
- 
-L'​équipe (ex équipe OCL) a aussi acquis depuis plusieurs années une expertise dans l'​application de l'​approche contractuelle au développement logiciel par objets. 
- 
-L'​approche contractuelle consiste en la spécification et la vérification de propriétés associées à des entités logicielles,​ tout en attribuant à chaque entité des responsabilités bien définies dans un contrat. 
- 
- 
-Dans les plates-formes de composants logiciels actuelles, la notion de 
-contrat n'est traitée qu'à travers des propriétés fonctionnelles 
-relativement pauvres (typage) et des propriétés non fonctionnelles 
-très spécifiques à certains domaines (réseau par exemple). ​ 
- 
-Lors de ces quatre dernières années, nous nous sommes donc intéressés à l'​utilisation de l'​approche contractuelle pour décrire et contrôler des propriétés sémantiques des composants logiciels. 
- 
-===== Résultats scientifiques ===== 
- 
-Les résultats obtenus se répartissent en quatre centre d'​intérêts. On peut noter par ailleurs que ''​Philippe Lahire''​ a soutenu, en décembre 2004, une habilitation à diriger des recherches [ocl_00002389] qui concerne les trois premiers. 
- 
-==== Relations entre classes ==== 
- 
-Cette activité concerne la définition d'une approche pour annoter l'​héritage afin d'​enrichir les environnements de programmation [ocl_00002379,​ocl_00002381],​ et fait l'​objet de deux thèses. 
- 
-=== Thèse de Dan Pescaru (soutenue en novembre 2003). === 
- 
-L'​objectif est de réduire le fossé entre les concepts des langages de programmation et ceux des méthodes de conception comme UML. À cet effet, nous proposons un mécanisme de génération de profils UML, à partir des informations décrites à l'aide d'un modèle abstrait nommé OFL [ocl_00002415]. L'​intérêt est notamment de pouvoir décrire précisément la sémantique opérationnelle des différents types de classifieurs ou de relations associés à un langage à objets, pour ensuite les utiliser pendant la phase de conception. Il est alors possible de faciliter la projection de schémas de conception vers les langages de programmation,​ grâce aux informations mémorisées [ocl_00002380]. 
- 
-=== Thèse de Ciprian Chirila (soutenance prévue début 2007). === 
- 
-L'​objectif est de définir une relation d'​héritage inverse, dans le but de fournir un support original pour la description des adaptations que l'on désire réaliser sur une hiérarchie de classes. Ces adaptations faciliteront l'​adaptation des hiérarchies de classes en fonction du contexte d'​utilisation,​ et dans une certaine mesure simplifieront leur évolution. Dans un premier temps, le langage Java a été considéré,​ puis le langage Eiffel [ocl_00001617,​ ocl_00002377,​ ocl_00002372,​ ocl_00002378]. 
- 
-==== Séparation des préoccupations ==== 
- 
-L'​objectif est ici d'​introduire des mécanismes relatifs à la séparation des préoccupations,​ dans les langages à objets ou à composants, afin d'​améliorer la réutilisation des classes et des composants. La programmation par séparation des préoccupations repose sur le constat que la classe ou le composant n'est pas toujours une unité de réutilisation adaptée, soit parce que sa granularité est trop faible, soit au contraire parce que des fonctionnalités de nature très différente sont réparties entre plusieurs classes/​composants et qu'un même classe/​composant peut regrouper des éléments participant à plusieurs fonctionnalités. 
- 
-Thèse de Laurent Quintian (soutenue en juillet 2004). 
-Le modèle proposé dans cette thèse [ocl_00001648,​ ocl_00002385] repose sur les concepts objets et sur deux approches pour la séparation des préoccupations : la programmation par aspects (AOP) et la programmation par sujets (SOP) [ocl_00001615]. Ce modèle permet d'​adapter le contenu des classes existantes, de façon à pouvoir intégrer de nouvelles préoccupations,​ qu'​elles soient fonctionnelles,​ non fonctionnelles ou hybrides. Parmi les avancées proposées, on pourra retenir la définition d'une entité appelée adaptateur pour encapsuler une préoccupation. Elle permet notamment de décrire un protocole de composition indépendant du contexte d'​utilisation,​ et ainsi de guider et contrôler le programmeur lors de l'​utilisation de préoccupations déjà définies. ​ 
- 
-Suite à cette thèse, nous avons considéré l'​application de cette approche aux modèles [ocl_00002515,​ ocl_00002375,​ocl_00002376]. ​ 
-Cela permet d'​augmenter de manière sensible la réutilisation des modèles [ocl_00002521]. 
- 
-==== Description de modèles métiers ==== 
- 
-Fournir l'​expressivité suffisante pour décrire des modèles métiers le plus efficacement possible est particulièrement important, notamment en vue de leur réutilisation. ​ Nous avons abordé cette problématique à travers une meilleure prise en compte de la généricité. 
- 
-Thèse d'​Emanuel Tundrea (soutenance prévue début 2007). ​ 
-L'​objectif de cette thèse est d'​améliorer la généricité des modèles métiers. Elle est motivée par la nécessité de décrire aussi facilement que possible les points communs et les différences entre des entités relativement proches [ocl_00002391]. Ce besoin apparaît notamment pour la description de lignes de produits. ​ 
-L'​approche s'​appuie d'une part, sur un métaniveau,​ pour identifier clairement la sémantique des concepts utilisés dans la modélisation d'un métier particulier,​ et d'​autre part, sur la séparation de préoccupations et la programmation générative,​ pour permettre une instrumentation modulaire des applications associées au métier ou domaine considéré [ocl_00002382,​ocl_00002384,​ocl_00001567]. 
- 
-==== Approche contractuelle ==== 
- 
- 
-L'​application de l'​approche contractuelle aux systèmes à base de composant logiciels a débuté par des premiers travaux autour des problèmes de contrôle d'​admission de contrats [ocl_00000759]. 
- 
-=== Le système ConFract. === 
- 
-De Juillet 2002 à Janvier 2004, dans le cadre d'un //contrat de recherche externe// avec ''​France Télécom R&​D'',​ nous avons proposé et validé un modèle de contractualisation pour la plate-forme ''​Fractal'',​ nommé ''​ConFract''​. Le modèle se caractérise par la définition de deux nouvelles formes de contrat [ocl_00002400,​ocl_00002397]:​ un contrat d'​interface est associé à une connexion entre interfaces requises et fournies; un contrat de composition est placé sur la membrane englobante d'un composant composite, et exprime soit des contraintes d'​assemblage du composant et de son contenu, soit des contraintes d'​utilisation entre diverses interfaces requises et fournies. Dans cette première version, le système ''​ConFract''​ utilise des assertions exécutables. 
- 
-Cette collaboration a aussi entraîné la fourniture de livrables [ocl_00002409,​ocl_00002408] et la réalisation d'un prototype de validation [ocl_00002399]. 
- 
-Dans le cadre d'une autre collaboration avec des chercheurs du ''​valoria''​ 
-(Univ. Bretagne Sud) et de l'''​Irisa''​ (Rennes), nous étudions l'​utilisation de nos formes de contrats comme oracles dans des tests embarqués dans les  composants logiciels [ocl_00002404,​ocl_00002402]. 
- 
-=== Thèse d'​Alain Ozanne (soutenance prévue fin 2007). === 
- 
-Afin d'​améliorer l'​expressivité et la généralité du système ''​ConFract'', ​ 
-le méta-modèle sous-jacent avait besoin d'​être mieux explicité, et une 
-formalisation était nécessaire pour raisonner sur les différentes formes de 
-contrat. De même, une abstraction était nécessaire afin d'​intégrer d'​autres 
-formalismes de spécification [ocl_00002513],​ adaptés à l'​expression de 
-qualités de services ou de propriétés de synchronisation (langages fondés sur les algèbres de processus, logiques temporelles). Cela fait l'​objet de la thèse d'​Alain Ozanne, qui a démarré en novembre 2004 au sein de ''​France Télécom R&​D'',​ et est co-encadrée par Philippe Collet et Jacques Malenfant au LIP 6. 
-Des premières expérimentations autour de formalismes comme //TLA// et les 
-//Behavior Protocols// ont déjà donné des résultats, publiés dans [ocl_00002395,​ocl_00002396,​ocl_00002735]. 
- 
-=== Thèse d'​Hervé Chang (soutenance prévue fin 2007). === 
- 
-Afin de tenir compte des propriétés extra fonctionnelles et de leur fluctuation,​ nous nous sommes aussi intéressés à la négociation de contrats. 
- 
-Après un stage de DEA en 2004 [ocl_00002514],​ ce travail s'​effectue dans le cadre de la thèse d'​Hervé Chang depuis octobre 2004. L'​objectif est de définir un système complet de négociation de contrats logiciels sur des composants hiérarchiques. Ce système reposera en partie sur une modélisation compositionnelle des ressources extrafonctionnelles pertinentes pour les 
-composants. Une première politique de négociation par concession a été conçue [ocl_00002405,​ocl_00002089,​ocl_00002401,​ocl_00002392]. 
-Une seconde politique par effort vient d'​être finalisée [ocl_00002403,​ocl_00002398]. 
- 
-Ces travaux sont en relation directe avec un contrat de recherche externe avec ''​France Télécom R&​D'',​ qui a débuté en juin 2005 pour une durée de 3 ans. Son objectif est de prendre en compte les aspects non fonctionnels dans les composants logiciels par des mécanismes de négociation de contrats [ocl_00002512,​ocl_00002407]. 
- 
-En collaboration avec ''​France Télécom R&​D'',​ nous avons aussi appliqué notre modèle de contrats négociables à la problématique des systèmes autonomiques,​ en démontrant comment les contrats pouvaient être utilisés dans les différentes phases des boucles de rétro-actions [ocl_00002394,​ocl_00002393]. 
- 
  
public_namespace/composition_ocl.1169053170.txt.gz · Last modified: 2007/01/30 10:49 (external edit)