Plate-forme à composants pour RTLinux
Descriptif
WComp est un environnement de Prototypage rapide développé dans l'équipe Rainbow du Laboratoire I3S. Il s'agit d'un environnement basé sur une approche à composants logiciels. A l'instar des JavaBeans, chaque composant communique grce à des événements considérés comme des composants spécifiques de lassemblage de composants.
Dans WComp, ces composants spécifiques, dits de liaison, peuvent être de différente nature selon le mode de communication choisi. L'assemblage de composants représentant une application est géré par un environnement logiciel appelé Container qui est chargé de créer, détruire et assembler dynamiquement des composants de l'application.
Le développeur et/ou lutilisateur n'interviennent pas directement sur le Container mais passent par lintermédiaire dun modèle et de concepts de plus haut niveau que lassemblage et un outil logiciel connecté à linterface (API) du Container afin de manipuler ces nouveaux concepts. Cet outil est appelé Designer . Il prépare ou transforme les concepts de haut niveau pour effectuer les modifications de l'assemblage des composants de l'application souhaités.
Les communications entre Designers et Container se font alors en utilisant l'interface suivante: AddComp(..), RemoveComp(..), AddLink(..), RemoveLink(..), ...
Des Containers WComp s'exécutent aujourd'hui dans:
- l'environnement .Net Framework et utilise des DLLs et le pattern .Net Delegate (http://www.codeproject.com/cpp/NativeDelegates.asp) pour les événements,
- l'environnement J2SE et utilise des .jar et le pattern Observeur / Observable (http://www.exciton.cs.rice.edu/JavaResources/DesignPatterns/ObserverObservable.htm) pour les événements.
Objectif
L'objectif de ce projet est la conception et le développement d'un Container WComp sous RTLinux. Un composant WComp/RTLinux (RTWComp dans la suite) se présentera alors sous la forme de modules noyaux Linux. Une première phase du projet devra porter sur:
- l'interface des modules composants RTWComp,
- le pattern utilisé pour les événements entre les composants,
- les méta-données associées à l'assemblage et aux composants pour gérer l'édition de lien dynamique basée sur "modprobe" de Linux,
- le module de gestion du container et la RTFifo qui permettra de recevoir les commandes de manipulations de l'assemblage de l'application depuis un processus utilisateur Linux.
Après une seconde phase d'implémentation, le résultat du projet permettra de concevoir rapidement une application Temps-Réel sous la forme dassemblage de modules RTWComp pour des dispositifs critiques tels qu'un servo-moteur (nécessitant un PWM très stable en entrée) ou un système d'acquisition (i.e. d'échantillonnage précis de mesures capteurs).
Autres informations
- Nombre d'étudiants: 3 (plus ou moins 1)
- Encadrants:Jean-Yves Tigli, Stéphane Lavirotte
- Organisme: Polytech'Nice Sophia
- Lieu du projet: Département Sciences Informatiques
- Langages: C