COMJAVA : EXTENSION DU LANGAGE JAVA PAR INTÉGRATION DES CONCEPTS DE MODULE/COMPOSANT ET D'ARCHITECTURE.

Identifiant : abdelhak.seriai_1_2015-16

Encadrant(s) : abdelhak.seriai@lirmm.fr, hinde.bouziane@lirmm.fr

Résumé :

Les langages orientés objet tels que Java, C++ ou Smalltalk offrent des avantages certains pour faciliter le développement de systèmes logiciels de qualité. Néanmoins, pour des systèmes de plus en plus complexes, ces langages atteignent leur limite, entre autres, par rapport aux propriétés de compréhension, de maintenabilité et de réutilisabilité de ces systèmes. Ainsi, d'autres langages dits post-objet ont vu le jour tels que les langages à base de composants (ArchJava, CCM, Fractal, Compo, etc.).(https://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_composant)

Notre objectif dans la cadre de ce travail est d'expérimenter l'extension d'un langage objet existant pour le doter de certaines capacités offertes par les langages à base de composants. Ainsi, nous proposons d'étendre le langage Java pour lui intégrer les principaux concepts proposés dans les langages à base de composants : composants, interface de composants, port, architecture, assemblage, etc.

Ce travail se basera sur une compréhension du concept de composant inspirée du projet ROMANTIC (Re-engineering of Object-oriented sytesMs by Architecture extractioN and migraTIon to Component based ones.)(https://tel.archives-ouvertes.fr/tel-00456367/document).

Les principales étapes de ce travail sont :

- Étudier les principaux langages à base de composant existants pour pouvoir identifier leur principaux concepts/éléments et ainsi pour compléter la définition de la grammaire de ComJava (l'extension de java proposée dans ce travail), dont une partie est déjà définie.

- Proposer une implémentation d'un programme écrit en ComJava en Java (c-a-d, Modèle de correspondance entre concepts ComJava et concepts Java).

- Créer un analyseur lexical/syntaxique de ComJava par utilisation de l'outil ANTLR (http://www.antlr.org/). En plus, une transformation d'un code écrit en ComJava en Java est demandée.

Ce travail convient à des étudiants intéressés par l'amélioration de leur compréhension par rapport aux concepts/langages orientés objet et par la création de langages post-objet.


Évaluation de la Qualité de Composants Logiciels OSGI à partir de l'analyse de leur Code Source JAVA

Identifiant : abdelhak.seriai_2_2015-16

Encadrant(s) : abdelhak.seriai@lirmm.fr, hinde.bouziane@lirmm.fr

Résumé :

Les langages à base de composants (https://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_composant) sont des langages de programmation dits post-objet. Ils permettent la création d'applications logicielles par assemblage de briques de base dites composants. L'idée générale de ces langages est de créer un système logiciel comme en industries mécanique ou électronique : par assemblage de composants existants. Le langage OSGI fait partie de ces langages (https://fr.wikipedia.org/wiki/OSGi). OSGI est basé sur Java, où un composant OSGI est créé à partir d'un groupe de classes Java.

Nous proposons d'étudier dans le cadre de ce travail l'évaluation de la qualité d'un composant OSGI. Cette évaluation doit se baser sur un modèle de mesure de la qualité d'un composant qui a été proposé dans le cadre du projet ROMANTIC (Re-engineering of Object-oriented sytesMs by Architecture extractioN and migraTIon to Component based ones.)(https://tel.archives-ouvertes.fr/tel-00456367/document). Ce modèle de mesure est inspiré du modèle de mesure de la qualité ISO9126 (http://www.sqa.net/iso9126.html).

Les étapes principales proposées pour ce travail sont :

- Formaliser et structurer les éléments du modèle de mesure de la qualité décrit dans ROMANTIC.

- Implémenter le modèle de mesure de la qualité d'un composants OSGI en JAVA. Il s'agit de l'analyse de l'ensemble des classes d'un composant OSGI pour déterminer certaines métriques telles que le couplage et la cohésion des classes.

- Expérimenter ce modèle de mesure sur des composants OSGI.