Aller au menu Aller au contenu
Une voie, plusieurs choix
Informatique et Mathématiques appliquées
Une voie, plusieurs choix

> Formation > Cursus ingénieur

Projet SEOC - 5MMPSEOC

A+Augmenter la taille du texteA-Réduire la taille du texteImprimer le documentEnvoyer cette page par mail cet article Facebook Twitter Linked In
  • Volumes horaires

    • CM : -
    • TD : -
    • TP : -
    • Projet : 48.0
    • Stage : -
    • DS : -
    Crédits ECTS : 4.0
  • Responsables : Regis LEVEUGLE

Objectifs

Le projet a deux orientations : réseau ou systèmes embarqués. Le choix des sujets est réalisé lors de la première séance commune à tous les étudiants.

Pour la partie systèmes embarqués : en général, concevoir et valider complètement un système embarqué intégré matériel/logiciel, de la spécification d'architecture jusqu'au prototype, par exemple sur réseau programmable ou sur carte à base de microcontrôleur. Certains sujets peuvent être davantage sur des réalisations faisant surtout intervenir du logiciel, embarqué ou d'aide à la conception (par exemple, portage de systèmes d'exploitation ou outils CAO).

Pour la partie réseau : développement d'une application réseau Java de zéro ou à partir de librairies existantes afin de sensibiliser les étudiants à l'implémentation et l'intégration de protocoles réseaux au sein d'un prototype abouti. Il faudra spécifier l'architecture logicielle, l'implémenter, vérifier la conformité du prototype implémenté en interagissant avec des applications existantes et mettre en évidence les performances. L'application à réaliser est un client bittorrent.

Contenu

Pour la partie systèmes embarqués :
Chaque groupe d'étudiants a un sujet différent, avec des domaines d'application variés (traitement d'images, musique, avionique, spatial, sécurité et chiffrement, etc.). Les sujets changent chaque année. Les outils et techniques employés dépendent bien sûr du sujet mais la trame générale reste la même :

  • Spécification de l'architecture du système (matériel et/ou logiciel), définition du planning de réalisation
  • Développement des fonctions (matériel décrit au niveau RTL ou en C pour de la synthèse haut niveau HLS, logiciel en langage de haut niveau et parfois assembleur pour les fonctions critiques, …)
  • Intégration des différentes parties du système et selon les sujets placement/routage sur un réseau programmable
  • Démonstration au niveau applicatif

Pour la partie réseau :
L'intérêt de ce projet est que les étudiants doivent organiser leur travail eux-même, chercher la documentation ou du code existant en ligne et mettre en place progressivement un prototype opérationnel couvrant les différents scénarios qu'ils définiront au fur et à mesure. Le langage de programmation est Java. Outre la gestion d'équipe, ce projet sera l'occasion de concevoir une architecture logicielle orientée objet, d'aborder des concepts avancés de programmation réseau (socket non bloquante, paradigme pair à pair (client/serveur), parseur ...) et de programmation tout court (thread, clean code, design pattern : machine à état, observeur, réacteur, ...).

Vous utiliserez un environnement de développement intégré (Eclipse/Netbeans), un système de contrôle de version (Git) et vous testerez la compatibilité de votre trafic réseau au fur et à mesure par l'intermédiaire d'outils réseaux (Wireshark, ...) ou en interagissant directement avec des applications existantes.

Enfin vous analyserez les performances de votre application (Jprofiler, débit réseau, ...) au sein d'un scénario facilement reproductible (automatisé) impliquant le téléchargement d'un fichier volumineux entre votre client et plusieurs clients bittorrent existants disséminés sur plusieurs machines du réseau Ensimag. Un comparatif des performances des clients des différents groupes pourra alimenter une discussion sur l'efficacité des stratégies de téléchargement implémentées.

Prérequis

Pour la partie systèmes embarqués :
Cours architecture et systèmes intégrés 2A, et selon les sujets langage VHDL, programmation C, bases de conception de circuit (conception logique, outils CAO), bases de systèmes d'exploitation

Pour la partie réseau :
Cours Réseaux 2A (TP inclus), programmation orientée objet Java, Wireshark

Contrôles des connaissances

Pour la partie systèmes embarqués :
2 soutenances intermédiaires comptant globalement pour 30% de la note
Rapport et soutenance finale de 30 minutes par groupe (présentation, questions, démonstration)

Pour la partie réseau :
revues de sprint intermédiaires + code + rapport + démonstration prototype à la fin du projet

N1 = P1 (projet)
Pas de rattrapage

Calendrier

Le cours est programmé dans ces filières :

  • Cursus ingénieur - Filière SEOC - Semestre 9
cf. l'emploi du temps 2020/2021

Informations complémentaires

Code de l'enseignement : 5MMPSEOC
Langue(s) d'enseignement : FR

Le cours est rattaché aux structures d'enseignement suivantes :

Vous pouvez retrouver ce cours dans la liste de tous les cours.

A+Augmenter la taille du texteA-Réduire la taille du texteImprimer le documentEnvoyer cette page par mail cet article Facebook Twitter Linked In

mise à jour le 10 mars 2020

Université Grenoble Alpes