Détail d'une fiche   Version PDF

OBASCO (SR0114OR)

Objets, aspects et composants

OBASCO


Statut: Terminée

Responsable : Pierre Cointe

Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2023" : Aucun mot-clé.

Mots-clés de "B - Autres sciences et domaines d'application - 2023" : Aucun mot-clé.

Domaine : Réseaux, systèmes et services, calcul distribué
Thème : Systèmes et services distribués

Période : 01/11/2003 -> 31/12/2008
Dates d'évaluation :

Etablissement(s) de rattachement : U. NANTES, CNRS, ENSTIM Nantes
Laboratoire(s) partenaire(s) : LINA (UMR6241)

CRI : Centre Inria de l'Université de Rennes
Localisation : École nationale supérieure des mines de Nantes
Code structure Inria : 031019-0

Numéro RNSR : 200318349L
N° de structure Inria: SR0114OR

Présentation

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