`
                                     Le projet Tiger a l’EPITA

                         Roland Levillain, Akim Demaille, Olivier Ricou

                                                    ´
                       Laboratoire de Recherche et Developpement de l’EPITA (LRDE)


                                                ´
                                             2 fevrier 2012




R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA               02/02/2012   1/8
Contexte et motivations


          ´
        L’ecole
                     ´          ´         ´      ´
             EPITA : ecole d’ingenieurs specialisee en informatique
                 Ing1 : enseignements d’informatique fondamentale
                                            `
                 Importance de la pratique, a travers de nombreux projets

                 ´
        Besoins pedagogiques
                             ´      ´
                 Ca. 2000 : necessite d’un projet long et ambitieux
                 Pot-pourri des enseignements d’Ing1

                      ´
        Solution adoptee
        Un projet de construction de compilateur



R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA   02/02/2012   2/8
Le langage et le projet Tiger


        Concu par Andrew Appel pour ses livres.
           ¸




R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA   02/02/2012   3/8
Objectifs du projet


        But
        Construire un compilateur

             Projet complet                                          Utilisation d’outils de
                         ´
             Plusieurs iterations (4–10)                              ´
                                                                     developpement
                       ´
             Gestion d’equipe (4)                                                         ´
                                                                     Algorithmique appliquee
             C++                                                            ´
                                                                     Comprehension des
              ´
             Methodes objet                                          ordinateurs
             Design patterns                                         En anglais

                                  ´ `
                      Public 250+ eleves
        Encadrement 2 enseignants + 30 assistants


R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA                   02/02/2012   4/8
Objectifs du projet


        But
                                                  ´ ´
        Construire un compilateur (comme produit derive)

             Projet complet                                          Utilisation d’outils de
                         ´
             Plusieurs iterations (4–10)                              ´
                                                                     developpement
                       ´
             Gestion d’equipe (4)                                                         ´
                                                                     Algorithmique appliquee
             C++                                                            ´
                                                                     Comprehension des
              ´
             Methodes objet                                          ordinateurs
             Design patterns                                         En anglais

                                  ´ `
                      Public 250+ eleves
        Encadrement 2 enseignants + 30 assistants


R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA                   02/02/2012   4/8
Tiger et le logiciel libre
                              ´          ´
 Nombreux outils libres utilises par les etudiants



           Outils                            Description                     Notes
           Flex, Bison                       Analyseurs lex./synt.            ´
                                                                             Etendus
           MonoBURG                            ´         ´
                                             Gen. de gen. de code             ´
                                                                             Etendu
           Argp                              Gest. ligne commande               ´ ´
                                                                             Integre
           HAVM, Nolimips,                           `
                                             Interpretes                        ´
                                                                             Creations LRDE
           Autotools, Make                   Construction, maint.            Ex-maint. LRDE
           GCC, Clang                        Compilateurs                    C++11
           Boost                             Bibliotheques C++
                                                       `
           GDB, Valgrind                     Debuggers
           Git                               Gestion du code
           SWIG                                ´
                                             Gen. d’interfaces               (Optionnel)
           Python, Ruby                      Langages de script              (Optionnel)


R. Levillain, A. Demaille, O. Ricou (LRDE)                       `
                                                 Le projet Tiger a l’EPITA             02/02/2012   5/8
Tiger et le logiciel libre
                  ´             ´
 Utilisation des methodes employees dans le logiciel libre




                      ˆ
                 Controle de version (Git) : gestion, rendu et suivi
                                     `
                 Diffusion de code : a l’aide de patches
                 Communication : newsgroups et listes de diffusion
                                  `
                 Gestion des problemes & suivi : tickets
                 Cependant : le code du compilateur Tiger n’est pas
                      ˆ
                 lui-meme libre




R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA   02/02/2012   6/8
´ ´
 Benefices de l’approche                                libre



                 ´                                        ´
                 Evolution du projet au fil des ans facilitee
                        ´            `
                 Rapidite de la mise a jour des enseignements
                        ´               ´               ´
                 Facilite de test, d’integration et de deploiement de
                 nouveaux outils
                 Idem pour les rapports de bugs et l’extension des outils
                                        ´
                 Beaucoup de nouveautes sont de plus en plus disponibles
                 via le logiciel libre.




R. Levillain, A. Demaille, O. Ricou (LRDE)                   `
                                             Le projet Tiger a l’EPITA   02/02/2012   7/8
´
 Epilogue



                                                 `       ´
                 Projet toujours actif 13 ans apres sa creation
                        ´ ´                                      ´
                 Faire beneficier d’autres formations de notre experience ?
                           ´
                 Possibilite de partager savoir-faire, documents & outils
                 Informations et contacts :

                                             http://tiger.lrde.epita.fr
                                                  tiger@lrde.epita.fr




R. Levillain, A. Demaille, O. Ricou (LRDE)                        `
                                                  Le projet Tiger a l’EPITA   02/02/2012   8/8

Le projet Tiger à l'EPITA

  • 1.
    ` Le projet Tiger a l’EPITA Roland Levillain, Akim Demaille, Olivier Ricou ´ Laboratoire de Recherche et Developpement de l’EPITA (LRDE) ´ 2 fevrier 2012 R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 1/8
  • 2.
    Contexte et motivations ´ L’ecole ´ ´ ´ ´ EPITA : ecole d’ingenieurs specialisee en informatique Ing1 : enseignements d’informatique fondamentale ` Importance de la pratique, a travers de nombreux projets ´ Besoins pedagogiques ´ ´ Ca. 2000 : necessite d’un projet long et ambitieux Pot-pourri des enseignements d’Ing1 ´ Solution adoptee Un projet de construction de compilateur R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 2/8
  • 3.
    Le langage etle projet Tiger Concu par Andrew Appel pour ses livres. ¸ R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 3/8
  • 4.
    Objectifs du projet But Construire un compilateur Projet complet Utilisation d’outils de ´ Plusieurs iterations (4–10) ´ developpement ´ Gestion d’equipe (4) ´ Algorithmique appliquee C++ ´ Comprehension des ´ Methodes objet ordinateurs Design patterns En anglais ´ ` Public 250+ eleves Encadrement 2 enseignants + 30 assistants R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 4/8
  • 5.
    Objectifs du projet But ´ ´ Construire un compilateur (comme produit derive) Projet complet Utilisation d’outils de ´ Plusieurs iterations (4–10) ´ developpement ´ Gestion d’equipe (4) ´ Algorithmique appliquee C++ ´ Comprehension des ´ Methodes objet ordinateurs Design patterns En anglais ´ ` Public 250+ eleves Encadrement 2 enseignants + 30 assistants R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 4/8
  • 6.
    Tiger et lelogiciel libre ´ ´ Nombreux outils libres utilises par les etudiants Outils Description Notes Flex, Bison Analyseurs lex./synt. ´ Etendus MonoBURG ´ ´ Gen. de gen. de code ´ Etendu Argp Gest. ligne commande ´ ´ Integre HAVM, Nolimips, ` Interpretes ´ Creations LRDE Autotools, Make Construction, maint. Ex-maint. LRDE GCC, Clang Compilateurs C++11 Boost Bibliotheques C++ ` GDB, Valgrind Debuggers Git Gestion du code SWIG ´ Gen. d’interfaces (Optionnel) Python, Ruby Langages de script (Optionnel) R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 5/8
  • 7.
    Tiger et lelogiciel libre ´ ´ Utilisation des methodes employees dans le logiciel libre ˆ Controle de version (Git) : gestion, rendu et suivi ` Diffusion de code : a l’aide de patches Communication : newsgroups et listes de diffusion ` Gestion des problemes & suivi : tickets Cependant : le code du compilateur Tiger n’est pas ˆ lui-meme libre R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 6/8
  • 8.
    ´ ´ Beneficesde l’approche libre ´ ´ Evolution du projet au fil des ans facilitee ´ ` Rapidite de la mise a jour des enseignements ´ ´ ´ Facilite de test, d’integration et de deploiement de nouveaux outils Idem pour les rapports de bugs et l’extension des outils ´ Beaucoup de nouveautes sont de plus en plus disponibles via le logiciel libre. R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 7/8
  • 9.
    ´ Epilogue ` ´ Projet toujours actif 13 ans apres sa creation ´ ´ ´ Faire beneficier d’autres formations de notre experience ? ´ Possibilite de partager savoir-faire, documents & outils Informations et contacts : http://tiger.lrde.epita.fr tiger@lrde.epita.fr R. Levillain, A. Demaille, O. Ricou (LRDE) ` Le projet Tiger a l’EPITA 02/02/2012 8/8