Sites Inria

English version

Equipe de recherche OBASCO

Objets, aspects et composants

  • Responsable : Pierre Cointe
  • Centre(s) de recherche : CRI Rennes - Bretagne Atlantique
  • Domaine : Réseaux, systèmes et services, calcul distribué
  • Thème : Systèmes et services distribués
  • Partenaire(s) : Université Nantes,CNRS,Ecole Nationale Supérieure des Techniques et Industries des Mines de Nantes
  • Collaborateur(s) : Laboratoire d'Informatique de Nantes Atlantique (LINA) (UMR6241)

Présentation de l'équipe

OBASCO s'attaque au problème général d'adapter le logiciel à ses usages en développant des outils de construction d'architectures logicielles à base de composants et d'aspects. Nous (ré)utilisons les techniques issues des langages de programmation et en particulier des langages à objets.

Notre fil conducteur est l'évolution d'une programmation à petite échelle (in the small) telle qu'elle est permise par les langages à objets à la Smalltalk, Java et C# vers une programmation à grande échelle (in the large) telle qu'elle émerge avec les modèles de composants. Notre objectif est la réalisation d'une " Machine Virtuelle à Composants " fédérant nos travaux autour des trois niveaux suivants :

  • au niveau modèle, formaliser les principes sous-tendant la réalisation d'un langage de composants c'est-à-dire prenant en compte les problèmes d'encapsulation, de composition, d'interaction et d'adaptation ;
  • au niveau langage, intégrer les approches par aspects et par composants pour disposer d'un langage de description exécutable raisonnablement expressif ;
  • au niveau infrastructure, produire in fine une plate-forme complémentaire de celle associée au langage Java et comportant les outils d'analyse, de transformation, d'instrumentation, d'interprétation et d'exécution de programmes communs aux approches objets, aspects et composants. Réaliser l'intégration de ces outils dans un environnement de développement, par exemple, Eclipse.

Axes de recherche

Concrètement, la " Machine Virtuelle à Composants " fédère nos travaux autour des trois axes suivants :

  1. Programmation par composants :
    Définition d'un langage permettant (i) de programmer des composants en représentant explicitement leur composition tant au niveau structurel que comportemental, (ii) de gérer leur adaptation tout au long de leur cycle de vie. Pour ce faire nous développons les techniques de la réflexion et de la spécialisation de programme et nous étudions l'interfaçage avec les standards industriels de facto que sont les EJB, .net et CCM.
  2. Programmation par aspects :
    Formalisation et mise en oeuvre de la programmation par aspects en développant un langage reposant sur les concepts d'événement et de moniteur et utilisant les techniques de la réflexion, de l'analyse et de la transformation de programmes.
  3. Programmation post-objets :
    Contribution à l'évolution du modèle à objets vers un modèle unifié, supportant la programmation à grande échelle et l'adaptation via la réflexion. Étude des problèmes d'intégration liés au mariage des objets et des aspects d'une part, des objets et des composants d'autre part.

Simultanément nous nous attaquons à la réalisation d'applications en privilégiant le domaine des systèmes d'information d'entreprise et ceci aux trois niveaux des composants métiers, des intergiciels et des systèmes d'exploitation.

Relations industrielles et internationales

Mots-clés : Programmation par aspects Composants logiciel Programmation par objets Systèmes d'exploitation

Suivez Inria tout au long de son 50e anniversaire et au-delà !