CAMPAGNE D’HABILITATION CONTRAT 2004-2007 1 – Fiche d’identite Etablissement : UNIVERSITE DE NICE SOPHIA ANTIPOLIS Domaine de Formation : Sciences, Technologies et Sante Intitule du diplome : MASTER Mention : Sciences et Technologies de l’Information et de la Communication (STIC) MODALITES DE CONTROLE DES CONNAISSANCES Les regles qui suivent ne sont pas encore validees par les instances autorisees et ne peuvent donc pas etre considerees comme definitives.
Les modalites de controle des connaissances appliquees pour le master suivent les regles en vigueur a l’UNSA. Regles du controle des connaissances pour les parcours de premiere annee de master Ce qui suit s’applique a la premiere annee de master, c’est-a-dire aux 60 premiers credits ECTS du master. Examens ecrits et oraux • • • • • Chaque unite d’enseignement donne lieu a son terme a une evaluation en fin de semestre.
Les evaluations ecrites sont groupees sur une periode bloquee, precedee d’au moins une semaine sans enseignements pour les revisions Les evaluations peuvent combiner examens terminaux et controle continu : la proportion est fixee par le responsable de l’enseignement et publiee au plus tard au debut de la periode d’enseignement Le bilan du controle des connaissances est publie chaque annee Les modalites des examens garantissent
La compensation est possible a la fois entre les Unites d’Enseignement et au sein des Unites d’Enseignement : le diplome est valide sur la base de la moyenne generale entre toutes les UE tenant compte de la ponderation respective de chaque UE et le cas echeant, de chaque enseignement au sein d’une UE Au sein de chaque UE, la compensation entre les elements constitutifs s’effectue sans note eliminatoire. Deux sessions de controle des connaissances sont organisees pour chaque semestre d’enseignement.
Les deuxiemes sessions de deux semestres consecutifs formant une annee peuvent etre regroupees L’intervalle entre les deux sessions est au minimum de six semaines Les enseignements qui sont integralement evalues par controle continu ne peuvent pas etre evalues lors de la deuxieme session. La note acquise en premiere session pour ces enseignements est automatiquement reportee en deuxieme session Compensation • Deuxieme session • • • 1/55 • • •
Pour les enseignements qui combinent une evaluation par controle continu et par examen terminal, l’enseignant responsable de l’enseignement decide de la modalite de report des notes de controle continu en deuxieme session (report ou non report de la note de controle continu, et ponderation de la note de controle continu dans la note globale). Ces modalites sont publiees au debut de la periode d’enseignement Les notes obtenues en premiere session dans un enseignement qui sont au-dessus de la moyenne sont automatiquement reportees en deuxieme session.
Les etudiants peuvent renoncer au report automatique s’ils en font la demande dans les quinze jours suivant l’affichage des resultats de la premiere session. Les notes obtenues en premiere session dans un enseignement qui sont comprises entre 8/20 et 10/20 ne sont reportees en deuxieme session qu’avec l’accord du responsable de l’enseignement, et ce au plus tard dans les quinze jours qui suivent l’affichage des resultats de la premiere session.
Les UE sont definitivement capitalisables, des lors que l’etudiant y a obtenu la moyenne Les notes obtenues dans les Enseignements d’une UE non acquise pour lesquels l’etudiant a obtenu la moyenne peuvent etre reconduites l’annee suivante en cas de redoublement, avec l’accord de l’enseignant responsable de l’Enseignement.
Les sujets sont valides par le responsable de l’UE L’evaluation de cet enseignement est faite par un jury constitue d’enseignants et preside par le responsable de l’UE, a partir des elements suivants : o Une evaluation portant sur un memoire remis collectivement par le groupe d’etudiants ayant choisi le sujet (quatre a six etudiants maximum) o Une evaluation du travail realise par chacun des etudiants, a partir de l’appreciation donnee par le responsable du sujet (feuille d’appreciation a remplir par les responsables du sujet pour chaque etudiant) o Une epreuve orale, couplee avec la soutenance.
Capitalisation • • UE « Travaux d’Etudes et de Recherche » ou « projets tutores » • • Regles generales de delivrance du diplome de Master Ce qui suit s’applique aux etudiants inscrits en deuxieme annee de master. Ces etudiants ont donc valides ou obtenus par transfert les 60 premiers credits ECTS du master. Les regles qui suivent concernent les 60 derniers credits ECTS necessaires et suffisants a un etudiant pour obtenir le diplome de Master. Le master est delivre a tout etudiant ayant obtenu 60 credits ECTS.
Ces credits sont repartis sur les unites d’enseignements (UE) qui sont evaluees par un controle individuel et sur un stage d’une duree de quatre a six mois qui donne lieu a un rapport redige par l’etudiant et une soutenance orale devant un jury. Le nombre de credits ECTS affecte a chaque UE et au stage est precise dans les parcours. Ce nombre de credits ECTS sert de coefficient pour l’UE et le stage dans le calcul de la moyenne de l’etudiant. La compensation entre les UE s’applique. Il n’y a qu’une seule session aussi bien pour l’evaluation des UE que pour l’evaluation du stage.
Tous les stages font l’objet d’une convention. Le Diplome de Master est delivre par le chef d’etablissement, apres la deliberation du jury de specialite. Chaque specialite a son propre jury, preside par le responsable de la specialite. Reglement de delivrance du diplome de Master pour les specialites recherche Pour les specialites recherche, la repartition des credits ECTS est la suivante : • 30 credits ECTS sont affectes a l’ensemble des UE. 2/55 Ces enseignements a la fois theoriques et methodologiques se deroulent principalement au troisieme semestre du master.
Chaque UE est affectee d’un certain nombre de credits ECTS. Ce nombre de credits ECTS sert de coefficient pour l’UE dans le calcul de la moyenne des etudiants. • 30 credits ECTS sont affectes au stage d’initiation a la recherche. Ce stage d’une duree minimale de quatre mois est effectue au quatrieme semestre, a temps complet dans une equipe de recherche, en general d’un laboratoire d’accueil de l’Ecole Doctorale. Le stagiaire est encadre par un membre de cette equipe. Le stage donne lieu a la redaction d’un memoire et a une soutenance orale faite devant le jury de specialite.
Ce jury evalue le travail realise lors du stage et apprecie la presentation faite par le candidat, ainsi que la qualite des reponses aux questions posees. Le jury de soutenance joue un role essentiel dans l’evaluation des capacites de l’etudiant pour la recherche et son aptitude a la preparation d’une these. La note du stage est delivree par le jury de specialite a l’issue de cette epreuve. Le jury de specialite est constitue d’au moins 3 enseignants de la specialite, dont au moins deux sont habilites a diriger des recherches.
Un etudiant n’est autorise a faire un stage d’initiation a la recherche que si sa moyenne calculee sur l’ensemble des notes ponderees obtenues aux UE est superieure ou egale a 10/20. Il y a donc compensation au sein des UE, mais pas entre le stage et les UE. Les etudiants en double inscription (master recherche et ecole d’ingenieurs) choisissent leur stage en concertation avec les responsables des deux formations. Le Diplome de Master est delivre par le chef d’etablissement, apres la deliberation du jury de specialite. Chaque specialite a son propre jury, preside par le responsable de la specialite.
Le jury de specialite donne son classement definitif au plus tard fin septembre. L’attribution des Allocations de recherche ne releve pas du jury de specialite mais du Conseil Scientifique de l’Ecole Doctorale STIC. 3/55 EVALUATION 9-1 – De la formation : effectifs, taux de reussite, debouches En moyenne entre 80 a 90% des etudiants inscrits en maitrise EEA ou informatique obtiennent leur diplome. Pour ce qui est des actuels DESS, ces formations sont reconnues et appreciees. Les etudiants sont recrutes pour des emplois correspondant a leur formation et les activites et salaires d’embauche sont de niveau ingenieur.
L’obtention plus ou moins rapide du premier emploi si elle est globalement bonne, depend de l’etat economique de secteurs d’activite ou les variations ont assez brutales et imprevisibles. 9-2 – Des enseignements Chaque semestre les etudiants sont convies a donner leur avis sur les enseignements suivis. Soit lors d’un jury de fin de semestre, soit en remplissant un questionnaire d’evaluation (anonyme) pour chacun des enseignements suivis. Ces questionnaires sont remis directement au responsable de la specialite afin d’en degager une synthese, qui est ensuite communiquee au responsable de l’enseignement.
A titre indicatif, ce qui suit illustre le formulaire utilise les annees precedentes en licence et maitrise d’informatique : Questionnaire d’appreciation =============================================================================== Nom de la matiere : =============================================================================== COURS Tres satisfaisant Par rapport a votre attente son contenu est Satisfaisant Non Satisfaisant Tres claire Claire Peu claire Facile Possible Difficile Insuffisant Correct Trop important Forte Moyenne Faible La maniere dont le cours vous a ete presente vous a paru
La prise de notes en cours etait Le volume alloue a cette matiere vous semble L’adequation de l’examen a l’evaluation des vos connaissances est ——————————————————————————TD ou TP Tres satisfaisantes Les reponses de l’enseignant a vos questions etaient Satisfaisantes Non satisfaisantes Tres instructifs Instructifs Peu instructifs Tres clairs Clairs Peu clairs En general, les sujets des TP/TD vous ont semble Les corriges ecrits ou oraux des exercices sont 4/55 La coherence entre le cours et les TP/TD etait Forte Moyenne Faible —————————————————————————–Respectes Les horaires des seances et les volumes horaires ont ete A peu pres respectes Rarement respectes =============================================================================== Si vous avez d’autres remarques ou precisions, utilisez ce cadre 5/55 SUPPLEMENT AU DIPLOME Cette partie contient le descriptif detaillee des differentes UE, tel qu’il pourrait figurer sur le supplement au diplome. Certaines descriptions ne sont pas encore pretes et donc absentes de ce document. 1.
Programme detaille des differentes UE proposees, parcours master 1, EEA Le detail des enseignements n’est pas encore disponible. La version actuelle est disponible sur le site web de l’UFR Sciences http://www. unice. fr/sciences. 6/55 2. Programme detaille des differentes UE proposees, parcours master 1, Informatique et Informatique et Telecommunications M1i1 : Genie Logiciel Oriente Objet (GLO) • Prerequis : Elements de Genie Logiciel (L3) • Objectifs : Maitriser les techniques de specification et de test pour le genie logiciel, en se focalisant sur l’approche par objets.
Utiliser les techniques orientees objets et composants pour le genie logiciel : heritage vs. composition, introduction aux patrons de conception, reflexivite, chargement dynamique de classes. M1i2 Bases de Donnees Avancees (BDA) • Prerequis : Concepts fondamentaux des Bases de Donnees (L3), Programmation Objet (L3) • Objectifs : Savoir rendre persistants dans une base de donnees relationnelle les objets manipules par les langages objets. Connaitre les diverses possibilites, leurs avantages, leurs inconvenients, pour realiser la persistance de ces objets dans une base de donnees. Apprendre les concepts de base our optimiser les requetes relationnelles. Avoir un apercu de differents types de bases de donnees avancees. Savoir ce qu’est l’informatique decisionnelle, ses concepts et ses applications. • Contenu : Interfaces L3G – Base de donnees relationnelles (Java DataBase Connectivity (JDBC)) ; Le modele relationnel-objet (Mapping relationnel-objet ; Limites des modeles relationnel et objet. ; SQL3 ; Avantages et inconvenients du R-O ; JDBC et le R-O. ) ; Persistance des objets (Presentation et comparaison de diverses methodes de persistance (JDO, SQLJ, EJB entites, avec une BD objet,… ) ; Optimisation de requetes (Index, arbres B, clusters ; Arbres relationnels ; Restructuration algebrique ; Modeles de cout ; Choix du meilleur plan ) ; Introduction aux bases de donnees avancees (Types complexes de donnees ; Semi-structurees, web, spatiales, temporelles, etc ; BD actives, BD temporelles, BD spatiales) ; Informatique decisionnelle (Entrepots de donnees, data warehousing ; OLAP et caracterisation ; Extraction de connaissances, analyse de BD et data mining ; Associations et series temporelles ; Segmentation et clustering ; Classification et regression ; Applications (CRM, scoring, web, bio-informatique, telecoms, etc. ) M1i3 : Paradigmes et Langages de Programmation (PLP) • Prerequis : Programmation imperative (L2), Programmation Fonctionnelle (L2), Programmation Objet (L3) • Contenu : Presentation generale des concepts des langages de programmation : historique et evolution, aspects lexico-syntaxiques, noms, expressions, enonces, types, procedures ; paradigmes imperatif, objet, fonctionnel, logique. M1i4 : Programmation et Securite du Web (PSW) • Prerequis : Introduction aux ystemes et reseaux (L1), Systemes et Reseaux (L3) • Contenu : Programmation et configuration des serveurs web (http, apache, Php, servlets, tomcat,…) ; XML et derives ; Web Services ; Securite (cryptographies, algorithmes, clefs privee/publiques, signatures, certificats, PKI, SSL) ; Legislation. M1i6 : Anglais (Ang) • Prerequis : • Contenu : Pratique ecrite et orale de l’anglais technique informatique.
M1i7 : Compilation 2 : Generation de Code et Optimisation (GCO) • Prerequis : Compilation (L3), Programmation Objet (L3) ou Programmation en Langage Java • Objectifs : Comprendre le processus de compilation ; connaitre et savoir evaluer les principales techniques d’optimisations ; comprendre les mecanismes d’execution de programmes ; savoir lire et comprendre des documents formels (specifications). Contenu : Presentation de la Machine Virtuelle Java (JVM) ; generation schematique de code JVM depuis l’arbre abstrait ; optimisation (simplifications algebriques, expressions constantes, optimisations a lucarne ; representations intermediaires, quadruplets, analyses de flot de donnees, representations intermediaires avancees, SSA) ; aspects d’execution (gestion de la memoire, edition de liens, chargement, code mobile et securite).
M1i8 : Calculabilite et Complexite (C&C) • Prerequis : Informatique Theorique (L2) • Contenu : Introduction (Histoire, Formalisation du Calcul, …) ; L’infini (Le denombrable, le continu, Hypothese du Continu, Theoreme de Cantor… ) ; Modeles du calcul et problemes indecidables (Probleme de l’arret, Theoreme de Rice, …) ; 7/55 Complexite (Complexite de problemes, Classes de complexite, …) ; Reflexions (Machines infinies, super recursivite, Calcul quantique et ADN,…).
M1i10 Travail d’Etude et de Recherche (TER) • Prerequis : Elements de Genie Logiciel (L3) • Objectifs : Mettre en pratique sur un projet concret les connaissances acquises durant la formation. Apprendre a travailler en equipe (projet collectif pour quatre a six etudiants). S’initier a la demarche scientifique de recherche et d’experimentation. Developper les aptitudes a communiquer (production d’un memoire, presentation orale des travaux lors d’une soutenance).
M1i1E : Traitement du Signal 1 (TS1) (UE M1-TS1 du parcours EEA) • Prerequis : • Objectifs : Donner aux etudiants les connaissances de bases de probabilites et de modelisation statistique necessaire a la prise en compte des bruits et perturbations dans les systemes electroniques et physiques en general. Introduire la notion d’information en relation avec la notion de probabilite de realisation a priori des observations et introduire l’importance des modeles stochastiques en telecommunications.
Contenu : Filtres numeriques ; Notion de variables aleatoires puis de processus aleatoires ; Processus stochastiques ; Processus stochastique et bruit en electronique (+ physique). M1i8E : Telecom (UE M1-T1 du parcours EEA) • Prerequis : • Contenu : Transmissions analogiques ; Communications numeriques ; Modulations numeriques. ENSEIGNEMENTS SUR LISTE • Parcours M1I04I : les etudiants ont quatre possibilites de choix : 1. ntre les UE M1i5a et M1i5b (premier semestre) 2. entre les UE M1i9a et M1i9b (second semestre) 3. un enseignement parmi les quatre proposees dans l’UE M1i11 (second semestre) 4. un enseignement parmi les quatre proposees dans l’UE M1i12 (second semestre) Parcours M1I04IT : les etudiants ont une possibilite de choix : 1. un enseignement parmi les sept proposees dans l’UE M1i13 (second semestre) •
M1i5a Approfondissement Systeme (ASy) • Prerequis : Systemes et Reseaux (L3), Programmation imperative en langage C (L2) • Objectifs : Completer les connaissances de base de la programmation systeme acquises en licence : utilisation avancee du systeme de fichiers et de la memoire (verrous, entrees/sorties mappees, memoire partagee, echange de descripteurs, …) ; interactions avancees entre les processus et le systeme (decouverte de configuration, limites des processus, signaux avances, groupes de processus et demons, …).
Etudier des implementations concretes de systemes (implementation du cache, gestion de la memoire, systeme de fichiers virtuels, systemes de fichiers en reseaux, ordonnancement, gestion des interruptions, micronoyaux et noyaux multi-threads, …). M1i5b Logique (Log) • Prerequis : Informatique Theorique (L2) • Contenu Introduction (Histoire, Formalisation du Raisonnement, applications) ; Langages du premier ordre (Langage des propositions, langage de predicats, …) ; Modeles (Satisfaction et validite des formules, consequences logiques,…) ; Preuves (Preuves en deduction naturelle, preuves a la Gentzen, resolution,…) ; Completude.
M1i9a : Semantiques des Langages et Programmes (SLP) • Prerequis : Theorie des Langages (L3) • Objectifs : Ce cours presente les techniques utilisees actuellement pour decrire precisement le contenu des langages de programmation. les documents obtenus sont formels au sens ou ils ne laissent aucune place a l’ambiguite.
Ceci permet d’une part d’effectuer des traitements symboliques sur ordinateur, par exemple pour obtenir un interprete, et des verifications mathematiques, par exemple pour demontrer qu’un compilateur ne denature pas le sens des programmes qu’il compile. Ces differents aspects seront etudies dans le cours. M1i9b : Architectures Logicielles Reparties (ALR) 8/55 Prerequis : Systemes et Reseaux (L3), Programmation Objet (L3), Concepts Fondamentaux des Bases de Donnees (L3) • · Contenu : Programmation repartie de type RPC (Principes, Modele et Methode ; Architectures clients-serveurs avec RPC ; RPC dans les langages classiques) ; RPC dans les langages a objets : Java RMI (Clients et serveurs, Applets, Callbacks ; Interactions avec les threads ; Chargement dynamique de code ; Client-serveurs generiques par polymorphisme ; Paternes et modeles pour la repartition) ; Repartition par composants et Architectures N tiers (Principe des composants ; Principes des Architecture 3 tiers ; Application aux EJBs, serveurs et containers ; Aspects concurrence et transactions transparentes ; Comparaisons avec d’autres systemes) ; Utilisation et role dans les applications web (Positionnement par rapport a HTTP, HTTPS, CGI, PHP, JSP, servlet ; Utilisation des EJBs, containers, transactions, JDBC ; Les Web services : WSDL, UDDI, WSFL, etc). M1i11, M1i13 : Administration des Bases de Donnees (ABD) • Prerequis : Bases de Donnees Avancees (M1) • Objectifs : Savoir analyser et optimiser les performances et la modelisation d’une Base de Donnees.
M1i11, M1i13 : Programmation avec Contraintes • Prerequis : • Contenu : Etude de quelques problemes academiques (n reines, … ) ; Les algorithmes de filtrage local ; les strategies de recherche ; les problemes de modelisation (domaines finis, booleens, continus) ; les contraintes globales. Objectifs : presenter les principaux concepts de la programmation par contraintes de maniere informelle. On etudiera successivement les algorithmes de base, les applications les plus prometteuses ainsi qu’un environnement de developpement commercial. M1i11, M1i13 : Synthese d’Images (SIm) • Prerequis : • Objectifs : Connaitre les concepts de base (mathematiques, algorithmiques, etc… ) mis en oeuvre dans un moteur 3D. Contenu : Rappels mathematiques ; Boule virtuelle, composition de transformations geometriques ; Clipping ; Algorithmes d’elimination des faces clachees (test de visibilite, peintre, z-buffer, bsp trees) ; Modeles d’eclairage, algorithmes de lissage de surface (modele de phong, gouraud, etc… ) ; Plaquage de texture 2D et 3D. M1i11 : Electronique Digitale • Prerequis : • Contenu : M1i12, M1i13 Optimisation Combinatoire (OCo) • Prerequis : • Contenu : Rappel de theorie des graphes (correspondant au Module Li1 de licence). Presentation des principaux algorithmes polynomiaux de base en combinatoire : couplages dans les graphes, flots, coloration de graphes. Introduction a la programmation lineaire (simplexe). Objectifs : Connaitre et maitriser les principaux algorithmes utilises en optimisation combinatoire.
Savoir ecrire un probleme sous forme d’un programme lineaire pour le faire resoudre par les solveurs existants. M1i12, M1i13 Theorie des Jeux et Internet (TJI) • Prerequis : • Objectifs : L’objectif de ce cours est de montrer une application des arbres et de l’algorithmique sur les arbres interessante en ellememe : la theorie des jeux en forme extensive. On introduira ce qu’il faut de theorie des jeux en forme normale pour pouvoir traiter le sujet. Un accent particulier sera mis sur le cas de deux joueurs et somme nulle, (« decision robuste »). On insistera toujours sur les aspects algorithmiques. Contenu : Jeux statiques (somme non nulle, deux joueurs et somme nulle) ; Jeux dynamiques (forme extensive, forme dynamique).
M1i12, M1i13 : Algorithmique Geometrique (AGe) • Prerequis : • Contenu : Enveloppe convexe, definition premiers algorithmes ; Presentation de la bibliotheque CGAL ; Triangulation dans le plan ; Triangulation dans l’espace, maillage ; Arrangements dans le plan ; Enveloppes inferieures. M1i12, M1i13 : Systemes Artificiels Complexes (SAC) • Prerequis : 9/55 • Contenu : Algorithme Genetique, Meta-heuristique, Reseaux de Neurones, Chaos deterministe / Automate Cellulaire, Morphogenese, Techniques d’Apprentissage / Data Mining, 10/55 3. Programme detaille des differentes UE proposees, Specialite Recherche Image et geometrie pour le multimedia et la modelisation du vivant A1 — Surfaces et maillages : du lisse au discret Responsable : Pierre Alliez, CR INRIA La ligne directrice de ce cours est l’etude des formes en general et des surfaces de R3 en particulier.
Par etude on entend l’analyse des proprietes geometriques differentielles et topologiques. L’objectif du cours est double. D’une part presenter les concepts fondamentaux, et d’autre part replacer ces concepts dans le cadre de la modelisation et du traitement numerique de la geometrie au sens large. Sont ainsi concernes les domaines d’application exploitant de pres ou de loin des maillages surfaciques: conception, simulation numerique et multimedia. A2 — Compression avancee d’images multidimensionnelles Responsable : Marc Antonini, CR CNRS La finalite de ce cours est de faire acquerir aux etudiants les notions necessaires a la maitrise des principales techniques de compression de l’information.
On developpe les techniques de quantification : Apres une introduction de la quantification scalaire uniforme, on presente les algorithmes d’optimisation du quantificateur de Max-Lloyd Afin de mieux adapter le quantificateur au signal source, plusieurs techniques de mise en forme de l’information sont proposees. Les methodes predictives pour les signaux bien correles, les techniques par transformees (transformees en cosinus, ondelettes, sous-bandes, hierarchiques,… ) pour les signaux structures. Pour realiser un plus fort taux de compression, les methodes plus modernes de quantification vectorielle sont approfondies : le fameux algorithme LBG pour l’optimisation d’un dictionnaire de codes est presente. On lui oppose les techniques rapides basees sur les reseaux algebriques.
On developpe ensuite les techniques de compression sans perte (notion d’entropie, de code a longueur variable) : la presentation de l’algorithme d’Huffman permet de montrer la puissance de ces methodes, surtout en ce qui concerne les algorithmes adaptatifs comme « Lempel-Ziv » et le « code arithmetique ». Ce cours est oriente, de maniere a donner les outils mathematiques necessaires en theorie de l’information. Il conduira naturellement vers une ouverture sur les recherches actuellement menees dans les laboratoires, ainsi que sur les differentes normes en compression (de son, d’images fixes [JPEG, JPEG2000], d’images animees [MPEG-1, -2 et -4, H26x],… ). A3 — Problemes inverses
Responsable : Michel Barlaud, Prof UNSA – Problemes inverses et Modelisation – Modeles lineaires a bruit additif et multiplicatif – Exemple de probleme de restauration et de reconstruction, – Mise en evidence de leur caractere mal-pose – Probleme inverse mal pose et conditions de Hadamard Relation avec les valeurs propres, conditionnement (exemples) – Notion de Regularisation – Regularisation par contrainte sur la norme – Theoreme de Bregman Algorithme ART – Entropie, Algorithmes MART,MEM- Regularisation par contrainte sur le Gradient – De la modelisation au critere- Les methodes variationnelles et le calcul des variations – Theoreme Semi-quadratique et Algorithme des minimisations alternees – Optimisation de region : la methode des gradients de forme A4 — Restauration et analyse d’image par analyse fonctionnelle.
Responsable: Laure Blanc-Feraud, DR CNRS Ce cours a pour but de d’ecrire des methodes recentes de restauration et d’analyse d’images. En restauration d’images, ont ete developpees ces dernieres annees de nombreux algorithmes reposant sur la transformee en ondelettes, la Variation Totale (TV), les champs markoviens… Le but de ce module est de presenter ces methodes de maniere unifiee dans un cadre fonctionnel rigoureux. Nous serons amenes a considerer, selon les cas, l’espace BV ou les espaces de Besov. Ce formalisme conduit aussi a la description de methodes recentes de decomposition d’image en une partie geometrique et une partie oscillante. Ce type de decomposition a de tres nombreuses applications (remplissage d’images, analyse de textures… ).
Enfin, tout au long de ce module, nous nous interesserons au probleme de l’estimation des parametres des fonctionnelles. Les applications sont en imagerie satellitaire, imagerie biologique et imagerie astrophysique. A5 —- Structures et interactions (macro-)moleculaires Responsable: Frederic Cazals, CR INRIA Deux des challenges majeurs de l’ere post-genomique resident dans la comprehension de la machinerie cellulaire et dans le developpement de nouvelles methodes de conception de medicaments. Ces enjeux posent des questions telles que la determination, la comprehension et l’etude de l’interaction de plusieurs (macro-)molecules —acides nucleiques, proteines, medicaments.
Une de leurs caracteristiques essentielles est de faire intervenir des disciplines aussi variees que la biologie, la chimie, la physique, les mathematiques et l’informatique. L’objectif de ce cours est d’aborder ces questions en insistant particulierement sur les questions d’algorithmique geometrique qui se posent pour manipuler efficacement ces modeles moleculaires, sans pour autant perdre de vue la pertinence biochimique des modeles et algorithmes developpes. A6 — Flots geometriques et Modelisations en Images Responsable: Rachid Deriche, DR INRIA Ce module se donne comme but de fournir aux etudiants les outils modernes et la maitrise technique necessaire a la resolution d’une certaine classe de problemes importants dans le domaine du traitement de l’image, scalaire ou vectorielle, et de la vision 1/55 artificielle ou biologique. La modelisation, le formalisme variationnel et les flots geometriques a base d’EDP constituent le socle commun au traitement des differents problemes consideres. On commencera par accorder une attention particuliere aux processus qui surviennent dans la phase dite de vision precoce et aux problemes lies a la modelisation et l’extraction de primitives images et de certaines de leurs configurations singulieres. Les techniques les plus avancees dans le domaine de la vision artificielle seront presentees et analysees de maniere complete, et on tentera d’etablir un parallele avec certains modeles biologiques existants.
On passera ensuite en revue un certain nombre de problemes en traitement d’image et en vision ayant pour caracteristique commune d’etre traites sous forme variationnelle. On introduira pour cela un formalisme d’analyse principalement issu de la theorie des EDP (Equations aux Derivees Partielles ) pour etudier de maniere unifiee, une grande classe de problemes lies a la segmentation, l’amelioration et la restauration d’images, scalaires ou vectorielles, degradees par du bruit. Apres avoir traite le cas de la regularisation d’images scalaires et vectorielles, on adressera le probleme de la segmentation d’images scalaires et vectorielles par evolution de courbes integrant aussi bien les informations contours que des informations statistiques sur les regions.
On traitera le cas des contours actifs geodesiques et on etudiera son extension a celui des regions actives tout en adressant le probleme de la mise en oeuvre au travers de la methode dite des ensembles de niveaux (Osher-Sethian). Toutes ces questions traiteront du cas des images scalaires, mais aussi du cas plus general des images vectorielles, comme les images couleurs, les images de direction ou les images de tenseur de diffusion MRI, etc. L’application a la regularisation de donnees DT-MRI sera particulierement illustree, ce qui permettra de soulever les nouveaux problemes que posent cette modalite d’acquisition recente en imagerie neuro-fonctionnelle. Enfin, on finira par une courte introduction du concept d’analyse multi-echelle, son axiomatisation, ainsi que sa formalisation a l’aide d’equations aux derivees partielles.
Ceci permettra en particulier de montrer le lien permettant d’unifier un grand nombre de theories precedemment proposees dans la litterature liee aux domaines du traitement des images et de la vision par ordinateur. A7 — De la geometrie algorithmique au calcul geometrique : l’exemple de la triangulation de Delaunay. Responsable: Oliver Devillers, DR INRIA Le but de ce module est de presenter les grandes tendances de la geometrie algorithmique actuelle, et en particulier son evolution vers ce que nous appellerons le calcul geometrique. Apres plusieurs annees ou la geometrie algorithmique a connu des developpements plutot theoriques, une des grandes questions actuelles est «Comment passer a des algorithmes effectivement programmes ? Parmi les grands points abordes on citera: comment gerer les problemes de precision numerique (arithmetique sur les reels), comment gerer les cas degeneres, et quelle est la vrai complexite d’un algorithme et non pas la complexite asymptotique dans le cas le pire. Tous ces points seront abordes a travers l’exemple de la triangulation de Delaunay. A8 — Introduction aux Images de Synthese Responsable: George Drettakis, DR INRIA La synthese d’image est un composant cle des applications de simulation, visualisation, creation et jeux d’aujourd’hui. Dans ce cours, on propose une introduction aux techniques de representation et affichage d’objets tridimensionnels. On introduira en particulier le rocessus de creation d’image, ou » rendu « , qui consiste a transformer un ensemble d’objets tridimensionnels, observes par un observateur virtuel, en une image. En particulier, on decrira les bases mathematiques necessaires a la representation et manipulation d’objets 3D, les algorithmes de base pour l’affichage et l’elimination des parties cachees ainsi que les modeles d’eclairage locaux permettant de restituer l’apparence du materiaux de l’objet eclaire par de sources de lumiere synthetiques. On presentera egalement quelques bases mathematiques et algorithmiques pour la modelisation et l’animation d’objets de synthese et les algorithmes de rendu specifiques a chaque type de representation.
Enfin, l’utilisation de bibliotheques logicielles standard permettant l’affichage 3D temps-reel comme » OpenGL » ainsi qu’une introduction aux outils de modelisation et rendu utilises en production comme » Maya » seront abordees. A9 — Traitement d’images en securite : Tatouage et biometrie Responsable: Jean-Luc Dugelay, Prof Eurecom Le tatouage permet aux proprietaires ou fournisseurs de contenus de cacher de maniere invisible et robuste un message dans un document multimedia numerique, avec pour principal objectif de defendre les droits d’auteurs ou l’integrite. Il existe un compromis delicat entre plusieurs parametres : capacite, visibilite et robustesse.
La securite utilise 3 types d’authentification : quelque chose que vous connaissez, quelque chose que vous possedez ou quelque chose que vous etes – une biometrie. Parmi les biometries physiques, on trouve les empreintes digitales, la geometrie de la main, la retine, l’iris ou le visage. Parmi les biometries comportementales, on trouve la signature et la voix. Chaque biometrie inclut des avantages et inconvenients, en termes de performances, couts, acceptation de la part des utilisateurs, etc. Les systemes actuels s’orientent donc vers des solutions multimodales. Dans un futur proche, la biometrie devrait jouer un role essentiel en securite, pour le commerce electronique, mais aussi la personnalisation.
Dans ce cours, il sera plus particulierement etudie les techniques d’identification et verification des personnes a partir de signaux image et video (acquisition, traitements et algorithmes, performances, etc. ). A10 — Modeles mathematiques pour les signaux neuronaux Responsable: Olivier Faugeras, DR INRIA L’activite du cerveau peut etre mesuree au travers de diverses modalites. L’Imagerie par resonance magnetique fonctionnelle (IRMf), l’electroencephalographie (EEG), la magnetoencephalographie (MEG) ou encore les enregistrements par microelectrodes, permettent d’apprehender divers aspects de cette activite a des echelles spatio-temporelles variees. Pour tenter 12/55 e comprendre quelle est l’information presente dans ces signaux, comment elle est representee, transmise et decodee a l’interieur du cerveau, on dispose d’outils mathematiques assez varies tels que la theorie du traitement du signal, la theorie de l’information qui s’appuie sur celle des probabilites et les statistiques, la theorie des systemes dynamiques et celle des equations aux derivees partielles. Le but de ce cours est de faire apparaitre une certaine unite conceptuelle, ici mathematique, derriere la variete des phenomenes etudies. Nous mettrons l’accent sur la perception visuelle du fait de son importance comportementale et cognitive, parce qu’elle a fait l’objet de tres nombreuses etudes et aussi a cause de ses liens etroits avec les applications au travers de ce qu’on appelle la vision computationnelle. A11 — Affective computing
Responsable: Christine Lisetti, Prof Eurecom Le module couvrira une collection de sujets en Affective Computing dont : (1) la modelisation des emotions en informatique du point de vue du role fonctionnel des emotions chez les humains au niveau de la communication, motivation, prise de decisions, attention, comportement, et apprentissage; (2) l’integration et la synthese multimodale de techniques de reconnaissance automatique des emotions; (3) l’expression d’emotions pour la creation d’agents synthetiques autonomes (logiciels ou robotiques). Computing. A12 — Imagerie volumique / Imagerie medicale Responsable: Gregoire Malandain, DR INRIA L’imagerie medicale est une source importante d’image tri- voire quadridiomensionnelles (3D ou 4D).
Ces images proviennent de differents capteurs (tomodensitometre ou scanner X, imagerie par resonance magnetique ou IRM, medecine nucleaire, echographie), chacun possedant ses propres specificites et limitations. Les volumes de donnees ainsi generes (un sujet pouvant de plus subir plusieurs examens) necessitent de la part du specialiste clinicien un temps d’examen relativement long. Le but de ce cours est d’examiner quelques outils de traitement des images particulierement adaptes au traitement de ces images que ce soit pour des buts de segmentation, de recalage et d’extraction de parametres quantitatifs (morphologie mathematique, topologie discrete, … ). Des applications medicales llustreront ou completeront ce cours. A13 — Indexation et Recherche d’Information Multimedia Responsable: Bernard Merialdo, Prof Eurecom Ce cours etudiera le formalisme XML et divers aspects de la structure des documents et des interactions web. Il presentera les techniques de base de la recherche d’information, au depart sur des informations textuelles, puis sur des informations multimedia. La norme Mpeg7 sera l’occasion d’expliquer les differentes techniques de recherche d’information d’image et de video. Le cours sera illustre par des applications d’analyse de video, de filtrage personnalise, et de recherche d’informations. Les mots-cles de ce cours sont XML et Mpeg7.
Avec XML, le cours etudiera la structure des documents, la distinction entre presentation physique et presentation logique, les modeles d’interaction sur le web, l’utilisation des metadonnees, et l’evolution vers le web semantique. Mpeg7 est une norme de description du contenu de donnees multimedia. L’analyse de cette norme permettra de decrire un certain nombre de traitements d’analyse d’image, qui permettent de definir des descripteurs de contenu pour des donnees multimedia. En particulier, nous etudierons des methodes de segmentation de la video, d’extraction de caracteristiques (couleur, texture, mouvement), de classification de plans, etc. Le cours etudiera egalement les techniques de base de recherche d’information textuelle, les modeles booleens et vectoriels, les techniques de retour de pertinence, et les particularites de la recherche d’information sur le web.
Finalement, le cours presentera des applications telles que les navigateurs video, les systemes de personnalisation etc. A14 — Vision Tridimensionnelle Responsable: Theodore Papadopoulo, CR INRIA Le but est de donner aux etudiants les bases theoriques necessaires a la vision 3D. On s’interessera tout particulierement a la modelisation mathematique des cameras (et systemes de cameras) et a l’obtention des differents parametres decrivant celle-ci a partir de mesures images (techniques de (auto-)calibration). Tout au long du cours, on s’interessera egalement aux algorithmes permettant la mise en oeuvre pratique de ces modeles a partir de donnees bruitees.
Differentes applications seront decrites : mosaiques, reconstruction stereo, realite augmentee. A15 — Synthese d’images et sons avancee Responsable: Nicolas Tsingos, CR INRIA Ce cours aborde des techniques poussees pour la synthese d’image realistes et comprend egalement une composante “ synthese de son spatialise ”, de plus en plus indissociable de la synthese d’image dans les simulations ou applications multimedia d’aujourd’hui. Pour ce cours, on recommandera que l’etudiant ait suivi au prealable un cours d’introduction a la synthese d’image dans sa formation anterieure ou bien le cour “ Introduction aux images de synthese ” propose dans le cadre de cette formation.
On presentera des algorithmes avances pour la simulation de l’eclairage global d’une scene 3D, c’est a dire les inter-reflexions lumineuses entre les surfaces de l’environnement. On presentera egalement comment des techniques similaires peuvent s’appliquer pour la simulation de l’acoustique dans des environnements virtuels. On abordera egalement divers algorithmes pour l’affichage interactif de scenes 3D tres complexes (“occlusion culling, render cache, rendu par points”) ainsi qu’une introduction aux architectures graphiques programmables recentes (“ vertex shaders, fragment shaders ”) et leurs outils 13/55 de programmation haut niveau comme des “stream processors”.
Enfin, on presentera une introduction au rendu temps-reel de son spatialise et son integration avec l’image dans des applications 3D multimedia. A16 — Modelisation de la perception visuelle, le cas du mouvement. Responsable: Thierry Vieville, DR INRIA Une meilleure connaissance des mecanismes de perception visuelle humaine et animale pourrait avoir un impact sur la conception d’algorithmes de vision artificielle. En retour l’etude du cerveau (un enjeu majeur de la medecine pour une population dont l’age moyen augmente) necessite la mise en place de modeles, de modules de simulation et d’outils d’analyse STIC tres elabores. Dans ce cours nous aborderons: 1. Architecture d’un Systeme Visuel: etude comparative biologique et artificiel.
Estimations: «where» du mouvement et de la structure de la scene observee et «what» du groupement perceptuel et de l’identification d’objets de la scene. Role et le fonctionnement des mecanismes adaptatifs de retroaction. 2. Modelisation de la perception visuelle du mouvement: equations fondamentales, hypotheses sur l’environnement visuel observes, fusion multi-modalites (inertielles, odometriques), mecanismes d’auto-calibration et d’adaptation, utilisation de mouvements actifs de perception. 3. Etude deux grands mecanismes cognitifs en perception (a) classification et categorisation visuelle, (b) generation de plans ou de trajectoires. A17 — Analyse des contenus audio Responsable: Christian Wellekens, Prof Eurecom Ce cours presentera aux etudiants es connaissances de base de la caracterisation du signal de parole a la fois par analyse banc de filtres, par analyse predictive LPC et analyse homomorphique (cepstrale). On abordera egalement les techniques statistiques de classification par modeles de Markov caches en insistant sur les methodes d’entrainement (Viterbi et Estimate-Maximize). Ces techniques seront appliquees a l’indexation en identifiant des mots cles dans un enregistrement sonore. Les methodes de segmentation en bruit/parole, musique/parole, en locuteurs seront decrites. A18 — Modeles stochastiques en traitement d’image Responsable: Josiane Zerubia, DR INRIA Le but de ce module est de faire une introduction a l’analyse statistique d’image.
Nous traiterons principalement des problemes lies a la modelisation stochastique du signal d’image (champs markoviens, processus objet), aux techniques stochastiques d’optimisation (recuit simule), aux modeles hierarchiques, a l’estimation de parametres pour ces modeles. Pour terminer, quelques applications seront presentees dans le domaine de l’imagerie satellitaire, medicale et biologique. 14/55 4. Programme detaille des differentes UE proposees, Specialite Recherche Programmation : Modeles, Langages et Techniques B1. Systemes axiomatiques Responsable : Emmanuel Kounalis Objectif : On souhaite donner un apercu des bases de l’informatique et de la programmation.
Dans un premier temps, on introduit la notion de systeme axiomatique et le raisonnement formel dans le systeme axiomatique. On degage en meme temps les concepts fondamentaux de l’informatique par des illustrations. Dans un deuxieme temps, on s’interesse au raisonnement concernant les systemes axiomatiques et toutes les questions adjacentes : consistance, completude, decidabilite Plan du cours : 1. les etapes de l’informatique ; 2. Les systemes axiomatiques ; 3. Les systemes axiomatiques pour la logique des propositions et du premier ordre (Hilbert, Gentzen.. ); 4. La theorie des nombres : etude et preuve des theoremes d’incompletude de Godel ; 5. La theorie axiomatique des ensembles ; 6. La theorie de l’Information a la Chaitin B2.
Semantique des langages de programmation Responsable : Yves Bertot Objectif : Ce cours presente les techniques utilisees actuellement pour decrire precisement le contenu des langages de programmation. Les documents obtenus sont formels au sens ou ils ne laissent aucune place a l’ambiguite. Ceci permet d’une part d’effectuer des traitements symboliques sur ordinateur, par exemple pour obtenir un interprete, et des verifications mathematiques, par exemple pour demontrer qu’un compilateur ne denature pas le sens des programmes qu’il compile. Ces differents aspects seront etudies dans le cours. Plan du cours : – Introduction aux lambda-calculs pur et type. semantique operationnelle structurelle (plus precisement la semantique naturelle), – semantique denotationnelle, – la semantique axiomatiques et aux calculs de preconditions. – Mecanisation des descriptions semantiques – Description formelle de langages de programmation fonctionnels. – Systemes de types et verification statique. – Demonstration de proprietes semantiques (correction de transformations de programme). – Introduction a l’interpretation abstraite. BE5. Modeles, objets et composants Responsable : Michel Riveill Objectif : On peut considerer que des infrastructures logicielles particulieres doivent etre pensees en relation avec des domaines d’applications precis.
Mais, d’une part, demeurent des principes d’organisation communs des infrastructures logicielles exploitables dans ces domaines d’applications, et, d’autre part, une tendance lourde des recherches actuelles porte justement sur la conception et la construction d’infrastructures adaptables, c’est-a-dire susceptibles d’etre adaptees a des conditions operatoires et a des domaines d’applications differents. Ce module vise a prendre du recul par rapport a l’observation de differentes familles technologiques afin de mieux comprendre leurs abstractions, d’identifier leurs points forts et leurs points faibles, leurs points de synergie actuels ou potentiels, leurs aspects contradictoires. L’extraction des modeles latents a ces technologies servira de base a l’etude comparee a la fois des technologies et des traitements de l’information en soulignant les problematiques que les travaux actuels autour des modeles se doivent de couvrir.
Nous essayerons de montrer comment chacun d’eux integre des services techniques en charge des aspects non fonctionnels et nous evaluerons leur adaptabilite aux contraintes parfois contradictoires des applications. Differentes etudes de cas permettront de mettre en evidence l’etat de l’art dans le domaine, d’illustrer les differents propos et de completer le cours. BE6. Cryptologie et securite 15/55 Responsable : Bruno Martin Objectif : Ce cours traite des differents services de securite lies au developpement de l’Internet qui utilisent la cryptographie. Les differentes fonctions assurees par les services de securite sont : – la confidentialite des donnees; – l’integrite des donnees; – la non repudiation; – l’authentification; – le controle d’acces. Contenu Ce cours est compose de deux grandes parties.
La premiere presente les differentes notions de cryptologie que nous considererons par la suite comme un ensemble de composants dont nous donnerons quelques assemblages qui permettent de realiser differents mecanismes de securite. Nous suivons une presentation historique de la cryptologie en commencant par la cryptographie a cle secrete. Nous presentons les chiffres mono et polyalphabetiques ainsi que leur cryptanalyse [1, 6]. Nous montrons que ceux-ci sont a l’origine de chiffres modernes comme DES. Nous rappelons rapidement les bases de la theorie de la complexite pour caracteriser la notion de fonction a sens unique utilisee dans la cryptographie a cle publique. Nous detaillons ensuite un chiffre base sur le probleme du sac a dos et enfin RSA.
Nous decrivons aussi quelques mecanismes de signatures numeriques qui sont egalement tres etudies dans le cadre de la cryptographie a cle publique ainsi que les fonctions de hachage cryptographiques dont l’utilisation est directement liee au concept de signature [2, 5, 7]. Dans une seconde partie, nous montrons comment assembler ces differents composants afin de realiser certains mecanismes de securite qui implementent les differents services de securite en les choisissant parmi les Public Key Cryptographic Standards recenses par la societe RSA en concertation avec l’administration americaine. Nous decrivons enfin leur utilisation industrielle avec des outils tels que PGP, Kerberos, S-key, IPSec, SSH [4]. Enfin, nous esquissons la maniere dont fonctionnent ces mecanismes dans des assemblages complexes tels que ceux utilises pour le commerce electronique.
En conclusion, nous evoquerons brievement le futur de la cryptographie, notamment avec les courbes elliptiques et la cryptographie quantique [3]. AB1. Complexite et combinatoire Responsable : Igor Litovsky Objectif : Introduction aux diverses notions de complexite ; la complexite des problemes et la complexite des objets. La premiere partie de ce cours reprend rapidement l’evolution historique de l’informatique theorique dont un des buts est de classer les problemes. La seconde partie est destinee a l’etude de la complexite des objets et a permis, entre autres, de definir precisement la notion de suite aleatoire. Dans un premier temps, nous rappellerons quelques resultats d’indecidabilite qui tracent une frontiere entre ce qui est calculable et ce qui ne l’est pas.
Nous nous interesserons ensuite a la seule classe des problemes calculables et nous affinerons la classification en problemes intraitables (NP-complets), realisables (en temps polynomial deterministe), massivement paralleles (de la classe NC) et intrinsequement sequentiels (P-complets). Nous nous interesserons a des problemes qui sont en relation avec d’autre cours du MASTER RECHERCHE (Programmation par contraintes, Logique… ) Dans un second temps, nous nous interesserons non plus a la complexite des problemes mais a celle d’un objet bien particulier. Intuitivement, la complexite de l’objet correspond a la taille du plus petit programme qui permet d’ecrire sur une entree vide. Nous definirons la complexite de Kolmogorov-Chaitin en nous interessant tout particulierement a la technique d’incompressibilite qui a permis d’obtenir de nouvelles reuves combinatoires de certains resultats techniques et nous montrerons que calculer la complexite d’un objet est un probleme indecidable. Plan du cours : 1. rappels de calculabilite 2. la classe du temps polynomial deterministe 3. la classe du temps polynomial non-deterministe 4. les problemes NP-complets 5. les problemes P-complets 6. definition de la complexite de Kolmogorov 7. quelques resultats essentiels 8. incompressibilite 9. applications de l’incompressibilite B3. Programmation par contraintes Responsable : Michel Rueher Objectif : La programmation par contraintes est une technologie en pleine expansion qui permet de modeliser et de resoudre efficacement de nombreux problemes.
Elle a des applications dans des domaines aussi varies que l’ordonnancement, les telecommunications, le graphique, la generation de tests logiciels, les langages naturels, les bases de donnees, etc. Des exemples d’applications, demonstrations et des informations sont accessibles via: – www. ps. uni-sb. de/? walser/radar/radar. html – www. cs. unh. edu/ccc/archive/applications. html – www. cs. unh. edu/ccc/archive/constraints/links/benchmarks. html 16/55 –www. mozart-oz. org/demo/ – www. cs. unh. edu/ccc/archive/constraints/jobs/ Ce cours permettra de comprendre les fondements, les limites et le potentiel d’application de la programmation par contraintes.
Il portera principalement sur les contraintes en domaines finis (problemes combinatoires) et en domaines continus (propagation d’intervalles). Les algorithmes de resolution seront etudies ainsi que les aspects de modelisation. Le cours sera illustre par des exemples et applications developpes avec les principaux outils du marche: ILOG Solver (bibliotheque C++), PrologIV et Numerica. Plan du cours : 1. La programmation par contraintes: – Origines et motivations; – L’arithmetique en programmation en logique ; – Resolution de problemes combinatoires. 2. Les contraintes sur les domaines discrets : – Exemples, modelisation, les principaux algorithmes et heuristiques de resolution ; – Les contraintes ‘globales’ disjonction constructive, contrainte de cardinalite, contrainte cumulative. Problemes d’optimisation sous contraintes : algorithmes complets, algorithmes incomplets. 3. Les contraintes sur les domaines continus : – Problemes specifiques aux domaines continus et applications; – Arithmetique des intervalles; algorithmes de filtrage ; 4. Applications : modelisation et resolution de problemes a l’aide de la programmation par contraintes – Interet de la programmation par contraintes pour modeliser et resoudre des problemes complexes issus de problemes reels ; – Presentation de l’atelier ILOG Solver ; exemples et problemes lies a la modelisation et a la resolution. BC1. Langages de programmation concurrente et distribuee
Responsable : Denis Caromel Objectif : L’objectif de ce cours est de presenter les langages paralleles asynchrones (par opposition aux langages dits Synchrones tel Esterel par exemple), d’en degager quelques concepts generaux (modele asynchrone, communication synchrone ou asynchrone, points d’entree ou procedure, etc. ), et de mettre en pratique leurs utilisations sur des exemples concrets. On s’interessera tout aussi bien a un parallelisme de situation (concurrence et distribution), qu’a un parallelisme de resolution. Une partie importante du cours est consacree aux langages a objets. Plan du cours : Introduction : Presentation du modele asynchrone (par rapport a l’hypothese synchrone).
Langages de haut niveau d’abstraction permettant a l’utilisateur de s’abstraire du placement, des communications, etc. Objectifs: facilite et puissance d’expression, reutilisation, etc. Rappels et approfondissement sur les langages classiques (CSP, etc. ), et approches par bibliotheques (MPI, OpenMP, etc. ) Langages a objets paralleles : Principes, utilisation de l’heritage et du polymorphisme. Reutilisation et transformation de code sequentiel. Abstractions pour la programmation du controle des processus (expressions de chemins, compteurs de synchronisation, conditions d’activation, ensembles d’activation, … ) Exemples de langages (langages d’Acteurs, extensions de C++, et surtout Java).
Mobilite, Migration d’objets actifs Decouverte dynamique de services (Jini) Grid-computing (calculs sur reseaux non-locaux) Presentations succinctes d’autres approches de type asynchrone: Programmation parallele logique et par contraintes. Programmation parallele de type fonctionnel. BC2. Threads reactifs Responsable : Frederic Boussinot Objectif : En partant des techniques standard a base de threads (POSIX), le but du module est de decrire une nouvelle approche de programmation concurrente et parallele developpee a l’Inria: les FairThreads. Les FairThreads reposant sur un modele cooperatif s’executent tres efficacement. Dans ce cadre, ils sont deterministes et il est possible de leur donner une semantique formelle. On presentera l’approche reactive et les FairThreads ainsi que leurs implementations en Java, C et Scheme.
Diverses utilisations seront decrites : serveur Web, programmation par icobjs, jeux en reseau. B4. Contractualisation des plateformes de composants logiciels Responsable : Roger Rousseau Objectif : Pour produire des logiciels de qualite au moindre cout, la plupart des approches actuelles reposent sur des assemblages de composants logiciels. Malgre des differences notables selon la taille des composants, leur degre d’interdependance, leur repartition ou non sur le reseau, toutes ces approches posent des problemes communs : comment 17/55 raisonner sur ces assemblages, controler leur semantique, verifier la qualite de leurs services (performance, precision de leurs resultats, consommation de ressources, etc. ).
Parmi les diverses solutions proposees, l’approche contractuelle est la plus pragmatique et la plus complete pour aborder globalement ces differents problemes. Le but de ce cours est une initiation a la specification de contrats fonctionnels et non fonctionnels de composants logiciels, aux techniques pour les verifier de maniere efficace, en tenant compte des interactions et des negociations necessaires, et permettre ainsi une forme de raisonnement compositionnel. Plan du cours : 1. Introduction : modeles de composants, problematique, raisonnement compositionnel. 2. Contrat fonctionnel : principes, specification et programmation par contrats. 3. Contrat non fonctionnel : specification, mesure et controle des qualites de services, standards industriels. 4.
Contrats specifiques pour les composants logiciels : interface, interaction, modeles de conception. 5. Mise en oeuvre des contrats : controle d’admission d’un composant, negociation. 6. Raisonnement compositionnel : elements necessaires au raisonnement, exemples de raisonnement, problemes ouverts et perspectives. AB2. Programmation evolutionnaire Responsable : Philippe Collard Objectif : De nombreux exemples d’adaptation des especes naturelles a leur environnement temoignent de la puissance des mecanismes de l’evolution. L’evolution artificielle (EA) a pour objectif general de reproduire in silicio ces mecanismes afin de construire des outils performants d’optimisation et de conception automatique.
Dans ce contexte, ce cours vise a sensibiliser les etudiants a cette approche novatrice suivant trois axes : les algorithmes genetiques, la programmation genetiques et les systemes de classeurs. Les algorithmes genetiques (AG), et plus generalement tous les algorithmes evolutionnistes, s’inspirent des modeles de processus d’evolution naturelle pour concevoir et implementer des systemes de resolution de problemes. Ils simulent l’evolution d’individus via des variations dues a des mecanismes tels que selection, mutation ou reproduction. La programmation genetique (PG) est l’application des principes de l’EA a la recherche de « programmes » au sens general du terme avec des operateurs adaptes aux structures manipulees (arbre, pile, graphe).
Les systemes de classeurs (SC) sont bases sur une architecture de regles de production ; ils permettent de concevoir des systemes autonomes evolutifs. Les SC allient exploration et exploitation de la connaissance pour acquerir une solution a un probleme sous la forme d’une succession d’actions. Plan du cours Introduction Systemes artificiels complexes Fondements biologiques Algorithmes Genetiques Algorithme de base Dynamique des populations Optimisation : AG et meta-heuristiques Modele selectionniste vs. modele neutraliste Programmation genetique Structures arborescentes / Tree GP Structures lineaires / stack GP Apprentissage Systeme de Classeurs Applications
BE1. Approche Synchrone et Reactive Responsable : Charles Andre Objectif : Le paradigme synchrone considere que le temps est divise en instants (temps logique). Un modele synchrone evolue par reactions successives. Chaque reaction est associee a un instant, elle depend d’un ensemble d’evenements d’entree (simultanes), elle engendre un ensemble d’evenements de sortie (simultanes), et elle s’execute entierement dans l’instant. Dans ce module, apres introduction des hypotheses synchrones, nous etudions deux styles de programmation synchrone : le style imperatif, illustre par le langage Esterel et le style declaratif, en prenant Lustre comme exemple.
La semantique constructive d’Esterel est introduite ainsi que les possibilites d’analyse formelle des programmes. Des formalismes graphiques synchrones sont ensuite presentes comme support de modelisation d’application melant aspects flots de controle (SyncCharts) et flots de donnees (SCADE). B5. Analyse syntaxique et application aux langues naturelles 18/55 Responsable : Jaques Farre Objectif : Ce cours sert a montrer quels peuvent etre les outils de construction de compilateurs actuels, et quelles sont les tendances actuelles en recherche dans ce domaine. Il traite donc de plusieurs sujets differents, qui peuvent eventuellement etre adaptes aux interets de l’auditoire. 1.
Methodes deterministes (pour ceux qui ne supportent pas Yacc et ses conflits) Analyse discriminating-reverse (DR) Analyse LR-reguliere (LRR) Analyse discriminating-reverse non canonique (NDR) 2. Methodes non deterministes (traitement des langues naturelles entre autres) Algorithmes CYK et Earley LR generalisee (GLR) DR generalisee (GDR) Methodes de tabulation B6. Ingenierie des Systemes d’Information Responsable : Isabelle Mirbel Objectif : Former a la recherche en analyse et en conception de systemes d’information. Cette formation permet d’acquerir et de maitriser des approches methodologiques qui peuvent etre utilisees afin d’apprehender de nombreux problemes d’analyse et de conception. Elle sera illustree avec des exemples, et des exercices realises en utilisant la notation UML.
Plan general du cours 1 Methodologie – Comment analyser des besoins d’utilisateurs, et realiser des conceptions qui preparent efficacement les developpements futurs? – Comment realiser des analyses-conceptions en utilisant des composants et des applications generiques de bibliotheques (des « Patterns », des «frameworks », et des « Applications frameworks ») ? – Comment adapter la demarche d’analyse conception au probleme pose ? – Comment trouver des objets et des classes (qui representent des besoins d’utilisateurs) ? 2 Modelisation – Comment representer des types et des objets (avec une classe pour chaque type, ou avec une classe dont les instances sont des types) ? Comment representer les etats et les comportements d’objets de classes avec des diagrammes etats-transitions et avec des reseaux de Petri ? – Comment recenser au mieux les methodes d’une application concue en objet en utilisant une classification des methodes ? – Comment placer au mieux les methodes d’une application objet dans les classes (en respectant l’encapsulation) ? – Comment identifier les cas de declenchement de methodes qui necessitent l’utilisation d’automates a etats finis? 3 Meta-modelisation – Comment concevoir des modeles d’analyse-conception de systemes d’information (meta-modeles, cartes de concepts) – – Comment verifier (a l’aide de meta-modeles) que des diagrammes sont bien concus? B7. Modelisation et capitalisation des connaissances
Responsable : Olivier Corby Objectif : Etude de la modelisation des connaissances dans ses dimensions acquisition, representation et capitalisation. Presentation des voies de recherche et de l’interet actuel de l’industrie pour la modelisation des connaissances appliquee a la memoire d’entreprise et a la capitalisation des connaissances. Montrer la complementarite des approches ingenierie des connaissances et gestion des connaissances. Plan du cours : 1. Modelisation, Representation des connaissances : – Points de vue dans les systemes a objets et les graphes conceptuels: TROEPS, C-VISTA, Logique de description: LOOM; – L’approche CommonKADS, les ontologies: Ontolingua, KIF; – Moteur d’inference et regles de production. 2.
Capitalisation des connaissances : – Differents aspects de la memoire d’entreprise: memoire technique, memoire de projet, memoire metier. Retour d’experience: REX, MEREX, Methodes MKSM, SAGACE; – Aspects ergonomique, cognitif, humain, organisationnel de la capitalisation des connaissances; – Lien entre gestion des connaissances et documents, presentation de XML et RDF; – Agents intelligents, Serveur de connaissance tels que Ontosaurus, Ontobroker, HyTropes, WebCokace. 3. Extraction de connaissances a partir de donnees (ECD) et Raisonnement a partir de cas : – Introduction au domaine de l’extraction des connaissances a partir de donnees KDD Kno