Projet Génie Logiciel et Compilation - 4MMPGL

Informations générales

  • Volumes horaires

    • CM -
    • Projet 55.0
    • TD -
    • Stage -
    • TP -
    • DS -

    Crédits ECTS

    Crédits ECTS 4.0

Objectif(s)

L'objectif pédagogique de ce projet est d'illustrer certains aspects du génie logiciel à travers le développement, en Java, d'une application de taille conséquente, à savoir un compilateur pour un langage orienté objet.

Les aspects visés sont principalement le respect d'un cahier des charges, la conception logicielle, les techniques de validation et la mise en place d'une démarche qualité.

Le thème choisi permet à la fois de remplir les objectifs ci-dessus en partant d'un cahier des charges bien formalisé, et de mieux comprendre les concepts sous-jacents aux langages de programmation.

Outre les aspects génie logiciel, ce projet permet d'aborder la gestion de projet et d'équipe.

Responsable(s)

Raquel ARAUJO DE OLIVEIRA, Catherine ORIAT

Contenu(s)

Le projet débute par une semaine intensive destinées à l’étude du cahier des charges (définition du langage, sémantique statique et dynamique, machine cible), à la présentation des aspects techniques, ainsi que de la documentation
et démarche attendues. Des séances de suivi ont ensuite lieu sur différents thèmes : architecture logicielle choisie, techniques et objectifs de test, réception de code. Ces séances permettent d'aider les étudiants à la fois sur les aspects techniques et sur les aspects planification et organisation.

Une partie "extension" permet aux étudiants d'approfondir un thème de leur choix (par exemple réalisation d'une bibliothèque de fonctions trigonométrique, génération de bytecode Java ou de code ARM, extension du langage considéré...).

Prérequis

Théorie des langages (par exemple 3MMTL), programmation Objet (par exemple 4MMPOO), connaissance d'un langage d'assemblage, pratique de la programmation.

Contrôle des connaissances

Evaluation : Projet (évaluation en continu et sur le rendu) + soutenance

Calendrier

Le cours est programmé dans ces filières :

cf. l'emploi du temps 2026/2027

Informations complémentaires

Code de l'enseignement : 4MMPGL
Langue(s) d'enseignement : FR

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

  • Equipe Programmation-logiciel

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

Bibliographie

Compilers: Principles, Techniques and Tools de Aho, Lam, Sethi & Ullman (1988/2007)

The Definitive ANTLR 4 Reference - Terence Parr (2013)