Semantic search
Mercredi 25 mars 2009, 14h-15h30, Amphi 2
Que se cache-t-il derrière ce type ?
- Documents
- regis-gianas.pdf
Yann Régis-Gianas, laboratoire PPS (Univ. Paris Diderot), équipe πr² (INRIA)
Si une fonction φ promet de manipuler une valeur de type α sans l'observer, on peut utiliser son code sans risque pour toutes les affectations possibles de α : que la valeur soit entière (α = int) ou qu'elle soit un arbre (α = tree), la fonction se comportera toujours de façon identique. Cette propriété s'appelle le polymorphisme paramétrique, l'essence de la généricité.
Promettre de ne pas observer de trop près son argument est un fardeau parfois insupportable pour une fonction, pour des raisons algorithmiques (comment prendre une décision sans savoir ce que vaut mon argument ?), ou encore pour des raisons de performances de bas-niveau (si je sais que α = int, je peux utiliser une primitive dédiée de mon processeur). Même si le type d'une valeur est caché derrière un type plus abstrait α, on peut fournir des mécanismes pour « le redécouvrir » grâce à des tests dynamiques ou à des raisonnements purement statiques. La propriété qui permet de diriger son calcul par la forme des types est appelée le polymorphisme intentionnel.
Dans cet exposé, nous présenterons plusieurs versions du
polymorphisme intentionnel offertes par différents systèmes de types
et de preuves sûrs (c'est-à-dire garantissant que les programmes
ne peuvent pas planter et sont corrects vis-à-vis de leur spécification).
Yann Régis-Gianas est maître de conférence de l'Université Paris Diderot.
Ancien élève de l'EPITA et du LRDE (promo CSI 2003), il a poursuivi son
cursus par un DEA SPL (précurseur de l'actuel MPRI) et par un doctorat
au sein de l'équipe Gallium de l'INRIA. Il étudie le design des langages
de programmation à typage statique garantissant l'absence d'erreurs
dans les programmes.
http://www.pps.jussieu.fr/~yrg
Mercredi 25 février 2009, 14h-17h, Amphi 1
Mise en oeuvre et application des extensions de langages
- Keywords
- language, concurrency
Patrick Viry, Ateji
Je présenterai sur la base d'une démo une application des extensions de langages, à savoir une extension Java pour l'optimisation. Cet exemple montre la mise en oeuvre concrète dans Eclipse, les gains de productivité et de qualité obtenus par rapport aux approches classiques Java+DSL, la différence entre cette approche et un générateur de code ou un préprocesseur. Il montre également une utilisation originale d'un compilateur: la génération automatique d'interface graphique.
Je parlerai aussi des futurs projets d'Ateji dans le domaine des
extensions de langage.
Patrick Viry a obtenu un doctorat d'informatique à l'INRIA-Lorraine en
1992. Il a poursuivi une carrière de chercheur à l'Université de
Kyoto, sur deux thèmes principaux: les modèles théoriques du
parallélisme et les outils de développement de type éditeur
syntaxique. Il a rejoint l'industrie en 1999, d'abord dans une société
japonaise réalisant des contrats pour le MITI, puis en tant
qu'architecte du langage OPL chez Ilog. Il a fondé Ateji en 2005 pour
développer et commercialiser des technologies innovantes dans le
domaine des langages et des outils de programmation.
www.ateji.com
Programmation par règles : application à la transformation d'arbres en Java
- Documents
- moreau-print.pdf, moreau-animated.pdf
- Keywords
- language, compilation
Pierre-Etienne Moreau - INRIA Nancy - Grand Est
Dans cet exposé je présenterai un outil, appelé Tom, qui permet de simplifier la programmation d'outils de manipulation et de transformation de structures arborescentes, telles que les AST (Abstract Syntax Trees) ou les documents XML par exemple. Tom est un langage de programmation qui ajoute à Java des constructions inspirées du calcul de réécriture et des langages à base de règles. On peut, de manière approximative, voir Tom comme une intégration d'un sous-ensemble de Caml dans Java.
Le langage repose sur trois notions fondamentales :
(i) les termes, qui sont un modèle universel permettant de décrire des structures arborescentes, et en particulier les notions de programmes et de preuves.
(ii) les règles, qui permettent de décrire de manière expressive des transformations.
(iii) les stratégies, qui permettent de contrôler l'application des règles.
La séparation transformation-contrôle est un point essentiel permettant de rendre les règles indépendantes de leur contexte d'utilisation, facilitant ainsi leur écriture, leur réutilisation et l'établissement de propriétés.
Le Langage Tom est parfaitement adapté à la réalisation d'outils de
transformation et de prouveurs. Son intégration dans Java rend son
utilisation facile, aussi bien dans le milieu académique que dans le
milieu industriel.
Pierre-Étienne Moreau est Chargé de Recherche à l'INRIA
Nancy-Grand Est, responsable de l'équipe Pareo. Il s'intéresse au
développement d'outils et de langages permettant de développer plus
rapidement des applications complexes et ceci de manière plus sûre.
Dans ce cadre, il a développé au cours de sa thèse le compilateur du
langage ELAN. Depuis 2001, il coordonne le développement de
l'environnement Tom, qui permet d'intégrer et d'utiliser les
notions de réécriture, de stratégie, de filtrage équationnel dans un
environnement de programmation Java. Les principales applications à ce
jour sont la réalisation de compilateurs, d'outils d'analyse et de
transformation de programmes, ainsi que des prouveurs automatiques.
http://tom.loria.fr, http://www.loria.fr/~moreau
Mercredi 11 février 2009, 14h-17h, P10
Programmer en JoCaml
- Documents
- maranget.pdf
- Keywords
- concurrency, language, caml, functional
Luc Maranget, Inria
JoCaml est une extension d'Objective Caml pour la programmation concurrente et distribuée, inspirée par le join-calcul. Nous avons récemment publié une nouvelle version de JoCaml, dont la compatibilité avec OCaml est meilleure que celle de la version initiale de F. Le Fessant. La nouvelle version pourra facilement être mise à jour au rythme d'OCaml et est binaire-compatible avec OCaml.
L'exposé s'attachera plus au langage JoCaml qu'au système JoCaml. Il montrera comment, à partir d'un programme potentiellement parallélisable écrit en OCaml (le ray tracer du concours ICFP 2001), on peut facilement produire un programme distribué, dans le cas abordé, très efficace. Ce sera l'occasion d'aborder la programmation en JoCaml de la coordination de multiples agents coopérants, d'une manière simple et concise dans l'esprit de la programmation fonctionnelle.
JoCaml est disponible en http://jocaml.inria.fr/.
Luc Maranget est chargé de recherche à l'Inria Rocquencourt. Il est
spécialiste de la conception et de l'implémentation des langages de
programmation, fonctionnels puis concurrents. À cet égard, il est
l'auteur du compilateur de filtrage d'Objective Caml et plus
récemment de la nouvelle version de JoCaml.
http://pauillac.inria.fr/~maranget/
ReactiveML : une extension d'OCaml pour la programmation de systèmes réactifs synchrones
- Documents
- mandel.pdf
Louis Mandel, Université Paris-Sud 11 - LRI
ReactiveML est une extension d'OCaml basée sur le modèle réactif synchrone introduit par F. Boussinot au début des années 90. Il permet la programmation de systèmes tels que les jeux vidéo ou les simulateurs.
Dans cet exposé, je présenterai ReactiveML à travers l'utilisation et
la programmation de rmltop, le pendant ReactiveML du toplevel
d'OCaml. Ce toplevel permet au programmeur d'écrire interactivement
des programmes ReactiveML qui sont typés, compilés et exécutés à la
volée. Toute expression ReactiveML valide peut être chargée dans le
toplevel et a la même sémantique et la même efficacité que sa version
compilée.
Louis Mandel est docteur de l'Université Paris 6. Il a passé un an
au laboratoire Verimag de Grenoble et un an à l'INRIA
Rocquencourt. Il est actuellement Maître de Conférences à
l'Université Paris-Sud 11. Il conçoit et développe ReactiveML.
http://www.lri.fr/~mandel
Mercredi 26 novembre 2008, 14h-17h, Amphi 2
Mesure de Performance et Généricité à EDF R&D
- Documents
- plagne.pdf
Laurent Plagne ; EDF R&D Clamart.
L'outil BTL++ (Benchmark Template Library in C++) développé à EDF R&D se
fonde sur la programmation générique et permet de mesurer les performances
de noyaux de calcul intensif. Il s'agit d'une bibliothèque générique dont
la conception vise à faciliter l'extensibilité par l'utilisateur.
Récemment, le lien entre les mesures de performance et la génération
automatique de bibliothèques optimales à été étudié pour le domaine de
l'algèbre linéaire dense. Quelques mesures de performance de noyaux de
calcul à base d'"Expression Template" permettront d'illustrer l'usage de
l'outil BTL++.
Laurent Plagne est ingénieur-chercheur à EDF R&D où il conduit une mission d'expertise pour la conception des codes industriels de calcul intensif. Ses domaines de recherche principaux sont les solveurs parallèles pour équations aux dérivées partielles et la programmation générique appliquée au HPC.
Il est co-auteur d'une bibliothèque générique pour la mesure de
performance (BTL++) et est le développeur principal d'une bibliothèque
dédiées aux problèmes d'algèbre linéaire creux et structurés
(LEGOLAS++).
Bibliothèque générique multi-cible d'algèbre linéaire
- Documents
- kirschenmann.pdf
Wilfried Kirschenmann, EDF R&D
La multiplication des architectures HPC (CPU multi-coeurs, GPU, Cell,..)
implique autant de spécialisations des codes de calcul intensif. Dans un
contexte industriel, les codes de calcul multi-cibles posent alors des
problèmes de maintenance et d'évolutivité importants. La génération
automatique des spécialisations est une réponse à ces problématiques. Pour
le domaine de l'algèbre linéaire, nous étudions les possibilités offertes
par la programmation générique. La mise au point d'une bibliothèque
générique multi-cible et performante constitue le sujet de départ d'une
thèse dédiée aux méthodes de développement HPC qui minimisent l'adhérence
aux machines cibles.
Wilfried Kirschenmann est diplômé de l'école supérieure d'électricité. Il a
travaillé sur la parallélisation d'un solveur de neutronique sur processeur
graphique lors de son stage de fin d'étude à EDF R&D. Il va débuter une
thèse sur les méthodes de développement HPC qui minimisent l'adhérence aux
machines cibles.
Mercredi 5 novembre 2008, 14h-17h, Amphi 2
Représentation efficace des données complexes dans un intergiciel schizophrène
- Documents
- quinot.ppt
Thomas Quinot, AdaCore
Dans un intergiciel schizophrène, une représentation intermédiaire des interactions entre composants applicatifs est construite et manipulée. Cette représentation est neutre vis-à-vis du choix d'une personnalité application (interface entre les composants et l'intergiciel) et d'une personnalité protocolaire (interface entre intergiciels distants). Elle rend possible le découplage entre ces deux aspects.
Cette représentation doit préserver la structure des données associées aux interactions. Cependant, sa construction in extenso s'avère coûteuse dans le cas de données composites complexes. Cette conversion peut être économisée en remplaçant la réplication complète de la structure par la définition d'un emballage « fantôme » autour de celle-ci (et de chacun de ses composants) : il suffit que cet emballage fournisse les accesseurs permettant de parcourir la structure et de construire un message la représentant.
Après avoir présenté un exemple concret de représentation neutre
des données structurées, nous montrons comment cette optimisation
peut être mise en oeuvre pour réaliser de manière efficace la
fonction de représentation dans un intergiciel schirophrène. Nous
concluons cette discussion par une évaluation du gain de performance
ainsi obtenu.
Thomas Quinot est docteur de l'Université Paris VI. Ses travaux de thèse
ont porté sur la définition d'une architecture d'intergiciel flexible
pour l'interopérabilité entre modèles de répartition. Il est aujourd'hui
Senior software engineer chez AdaCore, éditeur d'outils pour le
développement de systèmes embarqués, temps réel et critiques, où il
est notamment responsable des produits pour applications réparties.
http://www.adacore.com
Construire une application robuste sans faire exploser les coûts
- Documents
- tardieu.pdf
Samuel Tardieu, TELECOM ParisTech
Le langage Ada est connu pour sa sûreté intrinsèque : son typage fort, ses mécanismes de contrôle de valeurs et son système d'exceptions notamment permettent d'avoir une grande confiance en les programmes. Comme dit le vieux proverbe, « En Ada, quand ça compile, ça marche ».
Cependant, une des puissances d'Ada provient également de ses systèmes
de vérification lors de l'exécution du programme. Par exemple, si une
valeur se trouve en dehors de l'intervalle qui lui était autorisé, une
exception, rattrapable par le langage, sera automatiquement levée. Ce
système de vérification dynamique a bien évidemment un coût. Nous verrons
comment le système de compilation GNAT mélange analyse statique et
vérification lors de l'exécution pour fournir la totalité des
garanties définies par le langage tout en minimisant les surcoûts et
la perte de performance.
Samuel Tardieu est enseignant-chercheur à TELECOM ParisTech. Ses domaines
d'activité incluent notamment la compilation et la génération de code.
Il est également un des développeurs du système de compilation GCC,
et intervient plus particulièrement au niveau de GNAT, le compilateur
Ada de GCC.
http://www.rfc1149.net
Dimanche 14 septembre 2008, 14h-17h, Amphi 4
Systèmes, algorithmes et applications: Efficacité et utilité des systèmes parallèles.
- Documents
- hains.pdf
Gaétan Hains, LACL, Université de Paris Est, Créteil
Dans cet exposé je présenterai le modèle bulk-synchronous parallelism (BSP)
des algorithmes et architectures parallèles, ainsi qu'un tour d'horizon des
domaines d'application du parallélisme. BSP propose une vue unifiée des
principaux paramètres de la performance des algorithmes parallèles et de
leur adéquation sur les architectures multi-processeur, multi-coeur et leurs
réseaux de communication interne. Il permet une analyse portable et
extensible des performances ce qui permet d'éviter les principaux pièges de
l'informatique parallèle: mauvaise granularité, réseau mal adapté,
déséquilibres.
Gaétan Hains est directeur du LACL à l'université de Paris 12. Son
programme de recherche porte sur la programmation parallèle et la
sécurité.
http://lacl.univ-paris12.fr/hains
Outils pour le parallèlisme : apports de la programmation générative
- Documents
- falcou.pdf, falcou-1.pdf, falcou-2.pdf, falcou-3.pdf, falcou-4.pdf, falcou-5.pdf, falcou-6.pdf
Joël Falcou, IEF, Université de Paris-Sud, Orsay
Les besoins croissants en puissance de calcul exprimés par de nombreux domaines scientifiques exercent une pression très forte sur les architectures émergentes, les rendant toujours plus performantes mais toujours plus complexes à maîtriser. Dans ce cadre, le développement d'outils tirant parti des spécificités de ces architectures (quadri- et bientôt octo-coeurs, processeurs Cell ou GPU par exemple) devient une gageure car allier expressivité et efficacité est une tâche ardue. Les travaux exposés ici montrent comment l'utilisation de la programmation générative, et en particulier de la méta-programmation template, permet de répondre au problème de performances et d'abstractions.
Nous montrerons comment ces techniques ont permis de développer Quaff,
un outil de placement automatique d'applications data-flow sur des
cibles variées comme les clusters, les multi-coeurs ou le processeur
Cell.
Joel Falcou est maître de conférences en informatique au LRI,
Université de Paris 11. Ses travaux de thèse ont porté sur la
programmation parallèle pour la vision artificielle et plus
particulièrement sur les applications de la programmation générative
pour la création d'outils d'aide à la parallélisation. Il travaille
actuellement sur la définition de langages orientés domaine pour le
parallèlisme, outils qui s'intègrent dans divers projets de recherche
(ANR et System@tic).
http://www.lri.fr/~falcou
Mercredi 28 mai 2008, 14h-17h, Amphi 4
Le langage BSML
- Documents
- gava.pdf
Frédéric Gava, LACL, Université de Paris Est, Créteil
Nous présenterons BSML (Bulk Synchronous Parallel ML), un langage de
programmation de haut-niveau pour machines parallèles, ainsi que des
exemples classiques de parallélisme implémentés dans ce langage. Nous
complèterons cette présentation par une étude comparative des coûts
théoriques de ces algorithmes réalisée sur la grappe de PC du LACL.
Frédéric Gava est maître de conférences en informatique à
l'université de Paris 12. Ses travaux de thèse ont porté sur la
programmation parallèle (et des méta-ordinateurs) de haut-niveau qui
lui ont valu le prix de thèse 2006 de la fondation EADS dans le
domaine des STIC. Il travaille actuellement sur la preuve de
programme parallèle et la conception d'un vérificateur parallèle de
modèles pour réseaux de Petri de haut-niveau implanté avec les
méthodes développées lors de son travail de thèse.
http://lacl.univ-paris12.fr/gava/
Programmation parallèle certifiée
Frédéric Loulergue, LIFO, Université d'Orléans
L'algorithmique constructive permet, partant d'une spécification écrite
sous forme d'une combinaison non-efficace de fonctions, de dériver, sous
certaines conditions, des algorithmes parallèles efficaces. Cette dérivation
s'appuie sur des théorèmes d'équivalence de programmes et est formellement
correcte. Elle aide le programmeur à concevoir des programmes parallèles.
Toutefois les bibliothèques de squelettes proposées ne sont pas certifiées.
Dans le cadre d'une collaboration avec l'université de Tokyo, nous proposons
de cibler des squelettes algorithmiques développés en BSML et certifiés à
l'aide de l'assistant de preuve Coq.
Frédéric Loulergue est professeur à l'Université d'Orléans depuis
septembre 2005, directeur adjoint du Laboratoire d'Informatique
Fondamentale d'Orléans (LIFO), membre de l'équipe Parallélisme,
Réalité virtuelle et Vérification (PRV). Il travaille sur le
parallélisme avec des langages et modèles de haut-niveau (conception
de langages et bibliothèques, sémantique, vérification, algorithmes et
applications).
http://f.loulergue.free.fr/
Mercredi 30 avril 2008, 14h-17h, Amphi 4
Mouldable Programming
- Documents
- mp.pdf
Magne Haveraaen, Institutt for Informatikk, Universitetet i Bergen, Norway
Mouldable programming is about looking at programs as mouldable
fragments of code, not as the static, brittle syntax software often
turns out to be. Some simple examples follow. The notation for calling
a method "push" which adds an element "E" to a stack "S" can be OO or
static method style, it can modify "S" or return the new stack
etc. Can we simplify usage to just one form, and mould it to the
actual call? A function which breaks down for some input can signal
this using return flags, special return values, or exceptions, to name
some common ways. Can we abstract over this, and mould to the relevant
error handling technique? Often we need to do run-time checking of
arguments, e.g., array indexing bounds, forcing us to introduce lots
of code to deal with the unwanted cases. Can we use mouldable ideas to
simplify the code? In the presentation, we will elaborate on such
examples, discussing how we can free us from awkward syntactic
constraints.
Magne Haveraaen is a professor of computer science with an interest
for programming technology: the theory and pragmatics of writing
code. He investigates this in the context of the Sophus software
library, a coordinate-free numerics library written in C++.
http://www.ii.uib.no/saga/
High-Level Abstractions and Optimization
Anya Helene Bagge, Institutt for Informatikk, Universitetet i Bergen, Norway
Writing code in an abstract, high-level style can cut development time
and make code more maintainable and easier to reason about - but at
the cost of lower run-time performance. For performance-critical
applications, such as in numerical programming, this can render modern
abstraction techniques infeasible. Fortunately, code that is easy for
humans to reason about is also easier to reason about
automatically. We're studying different abstraction mechanisms and
generative programming techniques, as well as optimization techniques
to produce efficient code for them. As an example, basic element-wise
operations on arrays may be expressed in terms of high-level
operations, which may be automatically combined in order to increase
performance. I will present some of the things we've been working on
so far, and some of the ideas we have for the future.
Anya Helene Bagge is a research fellow at the University of Bergen,
Norway. Her research interests include programming language design,
program transformation, parallel computer architectures and program
optimization.
http://www.ii.uib.no/~anya/
Mercredi 26 mars 2008, 14h-17h, Amphi 4
Aspect-oriented Programming
- Documents
- aop.pdf
Anya Helene Bagge, Institutt for Informatikk, Universitetet i Bergen, Norway
Separation of concerns is the idea of breaking down a program into
encapsulated pieces that overlap in functionality as little as
possible. Encapsulated entities, such as classes, methods or modules,
are more manageable, easier to test and maintain, and may be reused
more easily than a large, entangled program. A cross-cutting concern
is something that cannot be encapsulated using normal abstraction
mechanisms, thus defeating separation of concerns. A classical example
of this is logging (e.g., logging calls and returns to a file while
the program is running) - the logging code needs to be added to every
applicable method in the program. The logging code for each method may
be almost identical, creating an undesirable overlap in
functionality. Aspects let a programmer implement a cross-cutting
concern as a separate entity, through advice (how a concern should be
implemented) and join points (where it should be implemented). I will
give an introduction to aspect-orientation and aspect languages, and
also talk a bit about domain-specific aspect languages.
Anya Helene Bagge is a research fellow at the University of Bergen,
Norway. Her research interests include programming language design,
program transformation, parallel computer architectures and program
optimisation.
http://www.ii.uib.no/~anya/
Context-oriented Programming with ContextL
- Documents
- cop.pdf
Pascal Costanza, Vrije Universiteit, Brussel, Belgium
Context-oriented Programming allows one to modularize a software
system using partial class and method definitions organized into
layers. Layers are composed into or out of the system depending on the
context apparent during program execution. The basic concept of layers
as partial program definitions has been suggested before, but with our
approach we extend this idea by the notion of dynamically scoped layer
activation, resulting in a viable approach for expressing
context-dependent behavior. We will discuss the basic language
constructs for Context-oriented Programming, the development of
non-trivial examples, implementation issues, especially with regard to
retaining efficient method dispatch, integration with the CLOS
Metaobject Protocol, and if time permits, advanced topics like
ContextL's reflective facilities for controlling layer activation and
deactivation.
Pascal Costanza has a Ph.D. degree from the University of Bonn,
Germany, and works as a research assistant at the Programming
Technology Lab of the Vrije Universiteit Brussel, Belgium. His past
involvements include specification and implementation of the languages
Gilgul and Lava, and the design and application of the JMangler
framework for load-time transformation of Java class files. He has
also implemented ContextL, the first programming language extension
for Context-oriented Programming based on CLOS, and aspect-oriented
extensions for CLOS. He is furthermore the initiator and lead of
Closer, an open source project that provides a compatibility layer for
the CLOS MOP across multiple Common Lisp implementations.
http://common-lisp.net/project/closer/contextl.html
Mercredi 20 février 2008, 14h-15h30, Amphi 4
Performance et Généricité dans Qgar
- Documents
- qgar.pdf
Vitor Vasconcelos Araujo Silva, LORIA Nancy
Dans cet exposé nous verrons l'ensemble des outils de la plate-forme
Qgar, avec une attention particulière pour la généricité et les
performances du code de la bibliothèque QgarLib. Nous verrons
également les autres composants du logiciel, quelques standards de
développement Qgar, ainsi que les défis pour l'évolution de la
plate-forme.
Victor Vasconcelos, brésilien d'origine, a obtenu son bachelor of
science en informatique à l'Université Fédérale de Gerais et son
Master of science en ingénieurie informatique et traitement d'image à
l'Université Fédérale de Rio de Janeiro. Il est rattaché en tant
qu'ingénieur à la Commission pour le Nucléaire du Brésil depuis
2002. Profitant d'un séjour sabbatique, il rejoint l'équipe Qgar
(reconnaissance et analyse de document) de l'INRIA en 2007, en tant
que développeur de la plate-forme logicielle.
http://qgar.loria.fr
Mercredi 30 janvier 2008, 14h-17h, Amphi 4
Robustesse, efficacité et généricité dans la bibliothèque CGAL
- Documents
- cgal.pdf
- Keywords
- image, c++
Sylvain Pion, chargé de recherche, INRIA Sophia Antipolis
Dans cet exposé je présenterai la bibliothèque d'algorithmes
géometriques CGAL. Cette bibliothèque C++ fournit des algorithmes
comme le calcul d'enveloppes convexes, de triangulations, en 2D,
3D... J'illustrerai surtout les problèmes de robustesse numériques que
l'on y rencontre, puis je détaillerai les solutions que l'on utilise
pour les résoudre de manière efficace. Elles sont basées sur plusieurs
types d'arithmétique: arithmétique d'intervalles et
multiprécision. Ces différentes techniques sont combinées dans
l'implementation grâce à la généricité du code (template C++), ce qui
produit à la fois un code efficace, compact, et proche des concepts
mathématiques, donc plus facilement prouvable.
Sylvain a rejoint le projet CGAL - qui vise a faire une collection
d'algorithmes géométriques fondamentaux en C++ - durant sa thèse,
qu'il a présentée en 1999 a l'INRIA. Il travaillait alors sur des
solutions génériques aux problèmes de robustesse numérique que l'on
rencontre avec les algorithmes géométriques. Plus tard, il a travaillé
sur l'efficacité de certains algorithmes géométriques comme la
triangulation de Delaunay en 3D. Il s'intéresse dorénavant a la
standardisation ISO du langage C++, ainsi qu'aux algorithmes
géométriques parallèles. Il est employé comme chercheur a l'INRIA, et
préside depuis deux ans le comité éditorial du projet CGAL.
http://www.cgal.org
Morph-M et généricité en traitement d'images
- Documents
- morphm.pdf, morphm.avi
- Keywords
- image, morpho, c++
Romain Lerallut, ingénieur R&D chez A2iA
Raffi Enficiaud, ingénieur de recherche chez DxO Labs
Dans cet exposé, nous présenterons la bibliothèque d'algorithmes de
morphologie mathématique Morph-M. Cette bibliothèque C++ fournit un
grand nombre de fonctions en traitement d'image (arithmétiques,
colorimétrique...) et en morphologie mathématique (filtrage,
segmentation, graphes etc.). Nous discuterons principalement des
concepts proposés par la bibliothèque, et leurs utilisations dans la
mise en oeuvre de nouveaux algorithmes. Nous illustrerons les
potentialités par quelques algorithmes actuellement implémentés dans
cette bibliothèque. Enfin nous discuterons des inconvénients de
l'approche générique.
Romain Lerallut a participé au développement de Morphée (actuellement Morph-M) au cours de sa thèse sur l'analyse d'images et de vidéos à l'aide de graphes, soutenue en 2006 au Centre de Morphologie Mathématique (CMM) de l'Ecole des Mines de Paris. L'objectif principal de ce logiciel était de fournir aux chercheurs du CMM un outil robuste et flexible pour faciliter le développement et le test de nouveaux algorithmes. Il travaille actuellement chez A2iA (Analyse d'Images et Intelligence Artificielle) dans le domaine de la lecture automatique de documents imprimés et manuscrits.
Raffi Enficiaud a travaillé sur Morph-M (anciennement Morphée) qui est
une base logicielle orientée recherche pour le traitement d'images, et
plus particulièrement pour la morphologie mathématique. Cela a été
l'occasion pour lui de développer de nouveaux algorithmes, et de
revoir l'existant sous l'aspect multispectral et multidimensionnel. Il
est employé à DxO depuis la fin de sa thèse, où il mène des recherches
en traitement d'images. Il y développe notamment des mesures de
défauts optique et capteur. Il est également en charge de
l'intégration et de la coordination du travail de plusieurs types de
démonstrateurs clients.
http://cmm.ensmp.fr/Morph-M/