Spécialité AIGLE: Architecture et Ingénierie du Logiciel
- architectures orientées services
- architectures web
- urbanisation (architectures des systèmes d’informations)
- Conception logicielle avancée
- Réutilisation et de réutilisabilité du logiciel
- Validation par le test
- Schémas de réutilisation objet.
- Design patterns : analyse et conception UML, compréhension et mise en oeuvre, et ici et ici.
- Frameworks, plugins, lignes de produits.
- Bases du test de logiciels.
Les cours de compilation s’intéressent en général à l’analyse lexico-syntaxique des langages. Ce cours-ci prend le relais en se focalisant sur l’exécution des programmes.
- transformation d’un langage source à un langage cible.
- évaluation directe de programmes.
- transformation du langage LISP en :
- un langage intermédiaire (évaluation efficace)
- un langage de machine virtuelle (processeurs physiques)
- un langage de machine virtuelle à pile
Un projet en groupe permet aux étudiants de programmer de façon réaliste la totalité des chaines d’exécution (évaluation de LISP ou du langage intermédiaire, compilation vers les langages intermédiaires et de machine virtuelle, évaluation des machines virtuelles).
-
Quelques références classiques :
- sur la compilation : [ASS89],
- sur l’initiation à la programmation par le langage SCHEME (cousin de LISP) : [ASS89] ;
- de haut niveau, sur LISP et SCHEME, et les problématiques d’évaluation et de compilation : [SJ93,Que94] ;
- sur LEXet YACC [LMB94];
- enfin, [Kar97] est un polycopié intéressant sur la compilation et l’interprétation (dont l’approche très différente du présent cours pourra déconcerter certains).
-
Bibliographie sur les langages :
-
COMMON LISP [Ste90] file:/net/local/doc/cltl/clm/clm.html ou http://clisp.cons.org/
-
On se reportera aussi au polycopié de LISP distribué en cours [Duc13a].
-
[ASS89] H. Abelson, G.J. Sussman, and J. Sussman. Structure et interprétation des programmes informatiques. InterÉditions, Paris, 1989.
-
[ASU89] A. Aho, R. Sethi, and J. Ullman.Compilateurs : principes, techniques et outils. InterEditions,Paris, 1989.
-
[DEMN98] R. Ducournau, J. Euzenat, G. Masini, and A. Napoli, editors. Langages et modèles à objets : État des recherches et perspectives. Collection Didactique. INRIA, 1998.
-
[Duc13a] R. Ducournau. Petit Imprécis de LISP. Université Montpellier 2, polycopié de Master Informatique, 85 pages, 2013.
-
[Duc13b] R. Ducournau. Programmation par Objets : les concepts fondamentaux. Université Montpellier 2, polycopié de Master Informatique, 215 pages, 2013.
-
[Kar97] J. Karczmarczuk. Implantation des langages de programmation — compilateurs et interprètes,1997. Polycopié Licence d’Informatique, Caen.
-
[Kle71] S.C. Kleene. Logique mathématique. Collection U. Armand Colin, Paris, 1971.
-
[LMB94] J. R. Levine, T. Mason, and D. Brown.LEX & YACC. O’Reilly, 1994.
-
[MD97] J. Meyer and T. Downing.JAVA Virtual Machine. O’Reilly, 1997.
-
[Que90] Ch. Queinnec. Le filtrage : une application de (et pour) Lisp. InterÉditions, Paris, 1990.
-
[Que94] Ch. Queinnec. Les langages Lisp. InterÉditions, Paris, 1994.
-
[SJ93] E. Saint-James. La programmation applicative : de LISP à la machine en passant par le lambda-calcul. Hermès, 1993.
-
[Ste90] G. L. Steele. Common Lisp, the Language. Digital Press, second edition, 1990.
-
[Ter96] P.D. Terry. Compilers and Compiler Generators an introduction with C++. Pearson, 1996
-
- Communications inter-processus (IPC) : Files de messages, mémoire partagée et ensembles de sémaphores
- Activités dans les processus (threads), parallélisme et synchronisation
- Programmation client-serveur (utilisation avancée des sockets et serveurs itératifs et concurrents)
- RPC (appel de procédure à distance)
- Applications multi-média, jeux et traitement d’images / vidéos
- Application distribuées (P2P, réseaux sociaux, etc.)
- Simulations scientifiques (météo, etc.)
- Administration système et réseaux
- Concepts de base de la programmation par acteurs et agents :asynchronisme, parallélisme, distribution massive
- Usage des continuations locales vs gestion des tâches en cours
- Architectures classiques d’agents (réactives, BDI, subsomption)
- Langages de programmation d’agents
- Protocoles classiques de coordination et de négociation
- Utilisation de rôles et de groupes pour la réalisation d’applications
- Gestion de la distribution d’applications multi-agents
- Utilisation des techniques multi-agents pour faciliter la programmation d’applications ouvertes, évolutives et distribuées
-
Ce cours est basé sur le livre An introduction to multiagent systems de Michael Woolridge: http://www.cs.ox.ac.uk/people/michael.wooldridge/pubs/imas/IMAS2e.html ou ici.
- Du matériel supplémentaire est disponible comme suit:
- Des transparents faites par Michael Woolridge et Simon Parsons: http://www.cs.ox.ac.uk/people/michael.wooldridge/pubs/imas/distrib/
- Des transparents faites par Terry Payne: https://cgi.csc.liv.ac.uk/~trp/COMP310.html
- Version ITunes University des transparents de Terry Payne: https://itunes.apple.com/gb/course/multi-agent-systems/id980647152
- Du matériel supplémentaire est disponible comme suit:
Une autre ressource possible à consulter sur les simulations multi agent sont les travaux de Jacques Ferber :
- http://www.lirmm.fr/~ferber/publications/index.html
- http://www.lirmm.fr/~ferber/publications/LesSMA_Ferber.pdf
-
Programme : principalement centré autour de la recherche de motifs
- Recherche de motifs exacts : KMP et Boyer-Moore
- Recherche de motifs approchés et multiples : Aho-Corasick
- Structures d’indexation des textes : arbre des suffixes, table dessuffixes, dictionnaires
- The Exact String Matching Problem: a Comprehensive Experimental Evaluation
- The Exact Online String Matching Problem: a Review of the Most Recent Results
Federico Ulliana et Anne-Muriel Chiffoleau
- L'objectif du module est d'aborder les entrepôts de données et les plateformes pour l'analyse des données massives.
Partie 2 - Entrepôts de données relationnels et ouverture au Big Data - Federico Ulliana, Christophe Menichetti (IBM)
- Architecture des entrepôts de données
- Modélisation multidimensionnelle
- OLAP/OLTP
- Hadoop Map/Reduce
- Solutions de Big-Data et Machine learning pour le Big-Data
-
[BD-G] Bases de données, Georges Gardarin, 5ème edition (2005)
-
[BD-G] Modèle relationnel et SQL. Chapitre VI et VII.
-
[ORA] Oracle® Database SQL Language, Reference 11g Release 1 (11.1) - (2013)
-
[ORA] Liste datatypes. Table 2.1.
-
[UML] Prolegomenes_uml.pdf
-
[UML] Section : projection vers les bases de données.
-
[UML2] UML 2 : De l'apprentissage à la pratique
-
[UML2]] Associations n-aires. Section 3.3.
-
[ADB] Architecture of a Database System. Hellerstein, Stonebraker, Hamilton
-
[ADB] Architecture of a Database System. Chapitre 5
-
[DW1] The Datawarehouse Toolkit. Kimball, Ross. (traduction française disponible à la BU, demander aux enseignants)
-
[DW2] Multidimensional Databases and Data Warehousing. Jensen, Pedersen, Thomsen.
-
[DW3] Getting Data Right
-
[MR1] MapReduce: Simplified Data Processing on Large Clusters - Jeffrey Dean and Sanjay Ghemawat
-
[MR2] Apache Hadoop