Sujets de stage 2016 Spécialité Informatique / Electronique
Transcription
Sujets de stage 2016 Spécialité Informatique / Electronique
Sujets de stage 2016 Spécialité Informatique / Electronique V-15/10/2015 Entreprise : Avertissement : Airbus Defence and Space / Airbus Safran Launchers 66, route de Verneuil - 78133 Les Mureaux Spécialité : Informatique / Electronique Formation : 5ième année d’Ecole d’Ingénieur ou de Master Département : Data Management and Software Prière d’adresser vos candidatures à [email protected] et à les confirmer sur www.jobs.airbus-group.com Un délai de 4 mois est à prévoir pour la sécurité industrielle entre l’acceptation technique de votre candidature et le début effectif du stage Airbus Defence and Space / Airbus Safran Launchers est le leader du transport spatial en Europe. Airbus Defence and Space est ainsi maître d’œuvre des lanceurs lourds Ariane 5 et Ariane 6, du cargo spatial ATV (« Automatic Transfer Vehicle ») et du missile balistique M51. Les sujets de stages ci-dessous sont proposés par le département « Data Management and Software », responsable du développement des systèmes numériques et des logiciels bords de ces véhicules spatiaux. Ils visent soit à améliorer les programmes existants, soit à préparer les projets futurs (en particulier Ariane 6). Titre Description 1. Etat de l’art et prototypage de mécanismes d’échange inter-processeur Les architectures multiprocesseurs ou multi-cœurs facilitent le regroupement de fonctions avioniques dans un même équipement. Les calculateurs embarqués des engins spatiaux exécutent des logiciels temps réels critiques dont une des principales caractéristiques est d’avoir un comportement prédictible et borné dans le temps, c’est-à-dire déterministe. L’exécution en parallèle de fonctions logicielles sur des multiprocesseurs ou multi-cœurs, tout en accroissant les performances de calcul, amène des problématique d’accès concurrents à des ressources (mémoires, entrées-sorties ), de synchronisation, d’inter-blocage, et, plus généralement, une difficulté à construire et démontrer un comportement déterministe. Les objectifs de ce stage sont les suivants. - Rechercher et établir une liste de mécanismes matériels et logiciels permettant de gérer des échanges et accès concurrents entre processeurs ou cœurs d’un même composant. - Analyser si l’emploi de ces mécanismes matériels et logiciels dans différents types d’architectures numériques permet d’obtenir un comportement déterminisme ou pas. On pourra analyser par exemple les solutions proposées sur différentes architectures matérielles (carte SCALEO multiprocesseur ARM, ARM multi-cœur, Leon4-RT, ). - Prototyper et tester le fonctionnement et les performances de différents mécanismes sur une carte SCALEO multiprocesseur ARM. Compétences requises Période / Durée Ce stage offrira au candidat la possibilité de découvrir de nombreux aspects du développement des calculateurs spatiaux et logiciels embarqués temps réels critiques, du point de vue matériel et logiciel. Compétences en systèmes embarqués et prototypage requises : compilation et exécution d'un applicatif sur carte de développement. Langages C/C++, éventuellement Ada. La connaissance des architectures multiprocesseurs ou multi-cœurs et des composants ARM est un plus. 6 mois 1/4 Sujets de stage 2016 Spécialité Informatique / Electronique V-15/10/2015 Titre Description Compétences requises Période / Durée 2. Preuve formelle de logiciels critiques embarqués Dans le domaine spatial, la fiabilité d’un logiciel critique embarqué doit être exemplaire. Les conséquences d’un dysfonctionnement peuvent être catastrophiques et provoquer la perte du lanceur. Pour garantir ce niveau de fiabilité, l’effort de test à déployer est considérable. Le principal inconvénient du test est qu’il ne permet pas d’obtenir une couverture exhaustive de mise en situation du logiciel. Vérifier qu’une fonction réalise correctement la somme de deux entiers 64 codés sur 32 bits reviendrait à tester 2 combinaisons de deux entiers. Une bonne stratégie de test consiste donc à sélectionner un sous-ensemble de scénarii pertinents. Le langage SPARK permet d’introduire formellement dans un logiciel critique des propriétés qui vont pouvoir être prouvées mathématiquement et donc exhaustivement. De plus, cette technologie récente a l’avantage par rapport aux langages de spécification formelle traditionnels (B, Z) d’être plus accessible à un développeur néophyte. Sur la base d’une première étude d’évaluation de la technologie SPARK réalisée en 2015, le but de ce stage est : - d’étudier et de prototyper une architecture critique entièrement compatible de SPARK 2014 - d’évaluer par comparaison avec les méthodes de test traditionnelles la capacité de la technologie à se substituer à des activités de test pour en réduire le coût. L’étude de cas sera basée sur les fonctions opérationnelles d’un lanceur spatial et sera mise en œuvre sur des processeurs utilisés dans les calculateurs spatiaux. - d’amorcer un guide méthodologique destiné à un futur utilisateur en s’inspirant des recommandations émises par la DO 178C sur la preuve formelle. Les compétences requises sont : - Une première sensibilisation aux techniques de preuve formelle - Une bonne connaissance des langages de programmation structurés (ADA, C++) - Des notions générales sur le développement de logiciels temps réel 6 mois 2/4 Sujets de stage 2016 Spécialité Informatique / Electronique V-15/10/2015 Titre Description 3. Outil d’analyse d’ordonnancement d’un réseau Ethernet déterministe Les réseaux Ethernet déterministes utilisés dans les lanceurs spatiaux nécessitent d’être configurés. Un outil permet de générer automatiquement cette configuration à partir d’une description du réseau. Ce stage a deux objectifs : - la définition, le développement et la validation d’un logiciel (à interface graphique) qui analysera la configuration du réseau afin de confirmer la bonne prise en compte des exigences systèmes - la génération de configurations représentatives du système lorsque la plateforme réseau est incomplète Les activités prévues sont : - Etude de la mise en œuvre du réseau Ethernet déterministe dans différents cas d’applications. - Développement de l’outil d’analyse. - Validation de l’outil développé sur une plateforme de démonstration avionique. Compétences requises Période / Durée Titre Description Compétences requises Période / Durée Synthèse des objectifs : - Maitrise du protocole utilisé - Maitrise de la programmation embarquée sur calculateur et utilisation de pilotes - Rédaction de la spécification de l’outil logiciel (définition de besoin) - Développement du logiciel (avec une bibliothèque graphique) - Mise en application et validation de l’outil sur plateforme. - - Rédaction du manuel utilisateur. Maitrise des langages C, C++, de l’environnement Linux, du protocole Ethernet et exécution d’un applicatif sur carte de développement. La connaissance du protocole AFDX et/ou TTEthernet et du langage PHP serait un plus 6 mois 4. Modélisation de spécifications logicielles lanceurs avec Cappella Ces dernières années ont vu l’explosion des méthodes de modélisation pour faciliter le travail collaboratif à grande échelle ou bien entre divers cœurs de métiers. Ces méthodes de modélisation (et leurs outils) sont souvent spécialisées sur un domaine : par exemple MEGA pour l’ingénierie système de systèmes, SysML pour l’ingénierie système, UML pour l’ingénierie logicielle, pour les plus connues. L’avenir de la modélisation passe par une plus grande interaction entre ces domaines, et à ce titre, certains outils et langages cherchent à fusionner les grands principes de ces langages. L’objectif du stage est d’évaluer l’outil / langage Cappella afin de couvrir les aspects du développement logiciel correspondant à MEGA et à SysML (ainsi qu’une partie d’UML). Des premières études ont fourni un avis favorable quant à l’utilisation de Cappella pour les aspects systèmes de systèmes (un système lanceur étant composé de plusieurs sous-systèmes : soussystème électrique, sous-système logiciel, etc ) Le stagiaire devra : - S’approprier la méthode de modélisation de la spécification logicielle en SysML utilisée pour les lanceurs spatiaux - Etudier et prototyper sous Cappella une partie de cette spécification logicielle avec le même niveau de détail que sous SysML. Comparer les deux approches - Analyser les aspects industrialisation de l’approche et des capacités de Cappella à s’interfacer avec d’autres outils utilisés pour le développement logiciel Outil de modélisation SysML ou UML Connaissance d’un langage de programmation Connaissance (optionnelle) des méthodes de développement logicielles. 6 mois 3/4 Sujets de stage 2016 Spécialité Informatique / Electronique V-15/10/2015 Titre Description 5. Développement d’une interface simulateur / programme de vol SMP (Simulation Model Portability) est un standard proposé par l’agence spatiale européenne pour assurer l'interopérabilité des environnements de simulation et des modèles de simulation. Ce standard est actuellement en révision 2 et est plus connu sous l'acronyme SMP2. Il est également connu sous la référence ECSS-E-40-07 (Simulation Modelling Platform). Le stage proposé consiste à développer l’infrastructure pour la réalisation d’une interface de communication entre l’environnement de prototypage du logiciel de vol d’un lanceur spatial et un simulateur de dynamique lanceur. En premier temps une analyse du modèle SMP2 et de son implémentation sera nécessaire pour pouvoir proposer des solutions adaptées au besoin. Dans un second temps, les propositions seront analysées et la plus adaptée sera développée. Compétences requises Période / Durée Titre Description Intérêt du stage : Découverte du contexte Ariane 6 et des technologies utilisées pour le développement logiciel de vol. Notions en programmation orientée objet, C++, Ada 2012, Sockets, TCP/IP. 6 mois 6. Génération automatique de tests Le stage se situe dans le cadre des activités de développement des logiciels de vol des lanceurs spatiaux et plus particulièrement dans la phase de test de ces logiciels. L’objectif principal du stage est de mettre en place un outil de génération automatique de tests. La spécification du logiciel est modélisée en SysML. Certains algorithmes sont décrits sous forme de diagrammes. Le but du stage sera donc de reprendre ces diagrammes, d’en extraire les informations, de les traiter et de créer des scripts de tests compatibles de l’environnement d’analyse automatisée existant sur le projet et permettant de valider le logiciel de vol du lanceur. Ce stage reposera sur des concepts mis en places dans des stages précédents. Compétences requises Période / Durée Intérêt du stage : - Intégré au sein de l'équipe en charge des logiciels de vol, le stagiaire devra d'abord comprendre les processus et contraintes de développement des logiciels critiques actuels pour ensuite proposer une solution adaptée. - Découverte et contribution, à travers l’outil développé au sein du stage, au développement des logiciel de lanceurs spatiaux. Connaissance des langages de programmation JAVA et UML, Perl et SysML étant un plus. Environnements Linux et Windows 6 mois 4/4