> toutes les offres
Demande
de développement de logiciel pour Syndex
Profil du poste
Le
candidat devra être titulaire au moins d'un diplôme
d'ingénieur ou d'un DEA ou DESS, il devra avoir une très
bonne connaissance du langage Caml, avec une bonne expérience
du développement logiciel avec ce langage. Une connaissance du
domaine du temps réel et/ou du distribué sera appréciée.
Fonctions
et public
SynDEx est un logiciel
de CAO niveau système pour le prototypage
rapide et l'optimisation d'applications distribuées temps
réel embarquées complexes (www.syndex.org). Il permet
de spécifier des fonctionnalités ou de les importer à partir
d'un langage orienté métier tel que Scilab/Scicos,
de spécifier des architectures matérielles distribuées,
et d'explorer manuellement ou automatiquement à l'aide d'heuristiques
d'optimisation, des implantations en tenant compte de contraintes
temps réel et d'embarquabilité. Il faut noter ici
que l’interface Scilab/Scicos/SynDEx testée actuellement
par PSA constitue une avancée par rapport à Matlab/Simulink/Real-timeWorkshop
car contrairement à ce dernier elle est capable de faire
de l’implantation temps réel sur architectures distribuées
plutôt que monoprocesseur.
SynDEx vise principalement
les domaines de l'avionique, les transports publics ou privés, le spatial, la robotique et les télécommunications,
pour lesquelles les applications complexes nécessitent une
conception et une implantation sûre alors que les contraintes
temps réel sont souvent critiques et que les architectures
matérielles sont très complexes car hétérogènes
(processeurs, circuits intégrés spécifiques,
média de communication, tous de différents types).
Ces applications étant la plupart du temps embarquées
demandent à ce que leurs ressources soient minimisées
(nombre de processeurs et de moyens de communication, mémoire,
consommation, surface, etc.).
Etat actuel
Le
logiciel SynDEx en est actuellement à sa version V6.7.5. Chaque version
majeure, depuis la V0, a été déposée à l'APP.
Il est téléchargeable gratuitement à l'URL (www.syndex.org)
sous copyright INRIA, avec nécessité d'établir un contrat
avec l'INRIA lorsqu'un usage commercial est souhaité.
Après avoir été utilisé dans le cadre
d'évaluations ponctuelles par les principaux industriels
des domaines cités plus haut, par exemple par Thomson (maintenant
Thales), Dassault, Aerospatiale, etc…, ou dans le cadre de
projets nationaux (RNRT, RNTL) : PROMPT (System on Chip pour les
télécommunications), ACOTRIS (contrôle commande
et traitement du signal), ECLIPSE et AEE (automobile), ou européens
(ITEA) : EAST (automobile), P2I (télécommunications),
nous devons faire face depuis quelques années à des
demandes d'industriels qui souhaitent utiliser SynDEx dans un cadre
opérationnel, pour le développement de nouveaux produits.
Par exemple la société Robosoft réalise depuis
plusieurs années ses nouvelles applications de robotique
mobile avec SynDEx. La société MBDA conçoit
avec SynDEx depuis deux ans une nouvelle génération
de système de navigation. Mitsubishi-Electric ITE utilise
SynDEx depuis deux ans pour proposer en interne de la société une
plateforme de développement d'applications de "software
radio" pour concevoir leurs nouveaux produits UMTS.
Les utilisateurs industriels
de SynDEx s'accordent pour dire que le logiciel a une qualité proche d'un produit commercial,
sachant tout de même qu'il n'y a aucun produit commercial équivalent
sur le marché. Cependant il reste deux points importants
qu'ils souhaiteraient que nous améliorions. C'est ce que
nous proposons faire dans le cadre de cette ODL.
Le premier concerne
la coopération entre d’une part
l'interface homme machine (IHM) qui permet de spécifier
les fonctionnalités et les architecture matérielles
et de visualiser les résultats des explorations, et d’autre
part l'adéquation qui permet d’effectuer les explorations
d'implantations manuelles ou automatiques. Ce point est important
pour les industriels pour qui l'IHM est fondamentale - c'est à la
limite la seule chose qui les intéresse, et ceci a juste
titre - mais dont l’efficacité est fortement dépendante
de l'adéquation avec laquelle elle est intimement liée.
Actuellement les deux modules IHM et adéquation utilisent
des structures de données séparées ce qui
conduit d'une part à une diminution de l’efficacité et
d'autre part à compliquer les vérifications qui sont
effectuées sur la spécifications des fonctionnalités
et des architectures matérielles essentiellement car elles
sont hiérarchiques. Pour ces dernières la spécification
actuelle doit être améliorée. Cela est d'autant
plus vrai que les structures de contrôle utilisées
pour spécifier les fonctionnalités - équivalent
des "IF THEN ELSE" et des "FOR I DO" - sont
fondées elles aussi sur la hiérarchie.
En parallèle
et de manière complémentaire les heuristiques d'optimisation
de l’adéquation doivent être étendues
pour prendre en compte les nouveaux besoins des industriels dans
ce domaine. Ces extensions concernent principalement la prise en
compte de contraintes temps réelle multiples de périodicité et
de latence et d’embarquabilité.
Le second concerne la
génération de code. SynDEx
génère automatiquement un macro-code indépendant
de l'architecture matérielle cible - ce qui on l'imagine
a beaucoup d'intérêt - qui doit être macro-processé à l'aide
de noyaux (bibliothèques de fonctions écrites dans
un code source compilable) dépendants eux de l'architecture
matérielle cible.
Actuellement la phase de spécification
des fonctionnalités et des architectures matérielles,
d'exploration d'implantations, et de génération de
macro-code est indépendante de la phase de compilation conduisant
aux différents codes exécutables en temps réel,
ce qui conduit à manipuler plusieurs outils en plus de SynDEx
comme le macro-processeur M4, compilateur C, etc.
Nous proposons
afin d'augmenter la productivité pour les industriels d'intégrer
le plus possible les deux phases en donnant à l'utilisateur
un outil unique pour spécifier, compiler et exécuter
en temps réel. En particulier cela conduira aussi à interfacer
SynDEx à un éditeur de texte standard guidé par
la spécification des fonctionnalités et des architectures
pour que l'utilisateur puisse écrire facilement les différents
noyaux correspondant aux différentes cibles utilisées,
et aussi à intégrer dans SynDEx l’appel à divers
compilateurs.
Objectifs et plan de travail
2 mois : Etude des structures
de données existantes
2
mois : Amélioration de la spécification d’architecture
4
mois : Fusion des deux structures de données en une seule
4
mois : Etude et réalisation de la vérification
des fonctionnalités et des architectures
6
mois : Etude et intégration
de nouvelles heuristiques d'optimisation
1
mois : Etude de l'extension de l'IHM pour édition guidée
des noyaux
3
mois : Réalisation
de l'extension
2
mois : Etude et réalisation de l'intégration
de quelques compilateurs
Chercheur
du projet à contacter :
Yves
Sorel
> toutes
les offres
|
|