Architecte logiciel – Développeur
Architecte logiciel et développeur, je suis ingénieur au sein du groupe SII à Toulouse. Depuis avril 2015, je suis en mission au département Body&Security de Continental Automotive.
Au sein du département Body&Security de Continental Automotive, j'ai la mission de concevoir et développer des outils logiciels pour la modélisation de l'architecture de systèmes embarqués de voiture (Norme AUTOSAR). Ces outils sont principalement des vérificateurs de modèles, des vérificateurs de code C, des transformateurs de modèles à modèles et des générateurs de code C.
Formé au Conservatoire National des Arts et Métiers (CNAM), je possède une solide base de compétences polyvalentes couvrant les domaines du génie logiciel, système et réseau. Au cours de la réalisation de mes divers projets, je me suis spécialisé dans la réalisation d'outils pour l'ingénierie dirigée par les modèles (MBSE). Actuellement, je suis en cours de certification de spécialisation d'analyste de données massives (CNAM) qui me permet d'acquérir des compétences dans le technologies du big data et dans le domaine du machine learning. Je possède également plusieurs expertises scientifiques (formation initiale scientifique).
Concepts de la répartition : découpage des applications multi tiers (présentation, domaines métiers, couche données) et application des design patterns associés.
Concepts de la compilation d'un langage de programmation.
Une sélection de projets public réalisés.
Analyse, conception et développement de Refinement of AADL Models for Synthesis of Embedded Systems (RAMSES) en tandem avec Etienne Borde (Maître de Conférence à TELECOM ParisTech) and Fabien Cadoret (ancien doctorant à TELECOM ParisTech).
RAMSES est un interpréteur du langage de spécification d'architectures logicielles et matérielles appelé : Architecture Analysis & Design Language (AADL).
RAMSES est une plate-forme logicielle dédiée au Model Based Systems Engineering (MBSE).
A l'aide de AADL Behavior Annex Front End (voir ci-dessous) et de la bibliothèque AADL Minimal Runtime écrite en AADL, RAMSES analyse et génère du code C et Ada multi plate-formes (ARINC653, POSIX, OSEK) pour les systèmes critiques, temps réel et embarqués décrits en AADL.
RAMSES a été conçu pour fonctionner de façon autonome en ligne de commande ou intégré sous forme de plugin (Eclipse RCP) à la suite d'outils OSATE2 (outil de référence AADL) développée par le Software Engineering Institue (SEI) aux Etats-Unis.
Conception et développement de user-FRiendly Elemental dAta procesSIng, un logiciel de traitements de données d'analyses physico-chimiques par spectrométrie de masse par torche à plasma (ICP-MS). Ce logiciel open-source (algorithme publié), écrit en C++/Qt, se démarque des solutions propriétaires par sa facilité d'utilisation. Au départ, projet de l'élève ingénieur Oualid Khelefi en collaboration avec Mickaël Tharaud de l'Institut de Physique du Globe de Paris, ce logiciel est en cours d'adoption par la communauté des utilisateurs d'ICP-MS.
Réalisation d'un éditeur (analyseur syntaxique et sémantique) appelé AADL Behavior Annex FrontEnd pour le behavior model : une extension du langage AADL.
Ce front end est un plugin Eclipse RCP s'intégrant à RAMSES et à la suite d'outils OSATE2.
Il apporte à RAMSES et OSATE la possibilité de spécifier le comportement des composants AADL sous forme de transitions d’automates à états.
Il est chargé de l’analyse syntaxique et sémantique du langage de description comportementale AADL, standardisé par le SAE.
Réalisation d'une bibliothèque d'exécution (runtime) appelée PolyORB-HI-Java pour l’outil Ocarina. A partir d’un modèle AADL décrivant un logiciel temps réel critique, Ocarina génère le code Ada, C ou Java RTSJ (temps réel) correspondant. Le logiciel généré, codé en Java RTSJ, s’appuie lors de son exécution sur PolyORB-HI-Java. La spécificité de cette bibliothèque tient au respect du profil RAVENSCAR Java pour les systèmes temps réel critiques.
Transformation de l'intergiciel Transhumance (réseaux sans fil ad hoc) en service autonome (daemon) s’appuyant sur DBUS. Services et interfaces de service écrits en C/C++ pour Linux et Maemo (Nokia 770)
Analyse, conception et développement d'Umodelis : une plate-forme de simulations et d'études hydrologiques.
Ce travail a été mené dans le cadre de mon mémoire d’ingénieur CNAM.
La plate-forme a pour but d’offrir un cadre opérationnel permettant d’unifier les bases de données hydrologiques de l'ORE HYBAM et de mutualiser les outils de traitements de données et de modélisation hydrologique développés par les rechercheurs.
Elle consiste en l’intégration de modèles mathématiques dans une
plate-forme J2EE assurant leur accès et organisant la répartition des calculs de simulations. Côté client, l’interface de cette plate-forme est intégrée au logiciel de Système d’Information Géographique uDig, sous forme de plugin (Eclipse RCP) et permet l'édition des données géo-localisées ainsi que le contrôle des simulations.
Les points forts de cette plate-forme sont l’intégration générique des modèles mathématiques développés par les chercheurs, la répartition des calculs de simulation sur un cluster et le support d’un SIG pour localiser les données hydrologiques.
Ce projet a fait l’objet d'une soutenance de mémoire au CNAM en juin 2010 pour l'obtention de mon diplôme d'ingénieur.
Conception d’un automate réalisant des séparations chromatographiques (isolation et récupération d’éléments chimiques provenant d’une matrice naturelle - roches, boues, etc. - mise en solution).
Cet automate est une pièce unique utilisée en routine lors d’analyses de rapports isotopiques de marqueurs géochimiques (Sr, Nd, Pb, Zn, Cu, Fe, etc.).
Il a contribué à l’amélioration de la qualité et du rendement des analyses.
Réalisation du logiciel de contrôle, écrit en C++, permettant la création et l’édition de protocoles de séparations chromatographiques, le paramétrage de l’automate et le contrôle asynchrone du déroulement des séparations.
Réalisation matérielle de l’automate : la particularité de cet automate réside dans la conception des pièces extérieures entièrement en plastique pour une meilleur résistance en milieu corrosif (atmosphère normale dans les salles blanches géochimie).
Réalisation de l’assemblage de l’électronique embarquée dans l’automate.