2. Inria, institut public de recherche créé en 1967, a pour missions de produire une recherche
d’excellence dans les champs informatiques et mathématiques des sciences du numérique et
de garantir l’impact de cette recherche. L’institut couvre l’ensemble du spectre des recherches
au cœur de ces domaines d’activités, et intervient sur les questions, en lien avec le
numérique, posées par les autres sciences et par les acteurs économiques et sociétaux.
En tant que sponsor Diamond de cette 6e édition de l’Open World Forum, Inria réaffirme son
soutien et son implication dans le logiciel libre considéré au sein de l’institut, à la fois comme
un formidable vecteur de diffusion scientifique et comme un outil de création de valeur
sociétale et/ou économique.
Ce forum européen de l’open source est aussi l’occasion pour Inria de faire mieux connaître
sa production logicielle. Ainsi, ce catalogue vous offre un extrait de ses logiciels « phares »,
s’inscrivant dans les thématiques de l’OWF 2013 telles que l’infrastructure et le Cloud, le Big
Data et les plateformes Hadoop, le Web de demain et la Mobilité.
Vous pouvez retrouver l’ensemble de ces fiches logiciels, et bien d’autres, dans la rubrique
Patrimoine technologique d’iCOMMUNITY :
https://www.icommunity.fr/patrimoine-technologique-inria
Patrick Moreau - Responsable du patrimoine logiciels
Tél. : +33 01 39 63 78 40
Mail : patrick.moreau@inria.fr
3. Alt-Ergo
Alt-Ergo est un démonstrateur
automatique de formules mathématiques
utilisant la technologie SMT. Il est tout
particulièrement conçu pour prouver les
formules issues des logiciels de vérification
de code, comme Frama-C pour C ou Spark
pour Ada. Développé dans l'équipe de
recherche Toccata, la distribution et le
support en sont assurés par OCamlPro.
Aspects innovants:
- Langage d'entrée polymorphe
- Interface graphique interactive
- Qualification DO-178 B/C (avionique)
Langage, standard, environnement:
OCaml (Linux, Windows, MacOS)
Mots clés: fiabilité de logiciels - méthodes
formelles - preuve - vérification - test
Licence: CECILL-C
Principaux domaines d’applications:
- Preuve de programmes
- Test basé sur les méthodes formelles
- Transport, énergie, santé
http://alt-ergo.lri.fr
Partenaires:
Toccata &
Contact: Sylvain.Conchon@inria.fr
Principaux utilisateurs:
- Airbus & Atos Origin (projet de l'A350)
- AdaCore & Altran (preuve de code Ada)
- CEA (preuve de programmes C)
4. ATL
ATL (AtlanMod Transformation Language)
est un outil dédié à la transformation de
modèles, complet, intégré à Eclipse et
incluant le langage ATL en lui-même, son
environnement de développement &
d’exécution, des exemples concrets ainsi
que la documentation associée.
Langage, standard, environnement :
Eclipse, EMF, Java.
http://www.eclipse.org/m2m/atl/
Aspects innovants :
Support pour tous les types de modèles (e.g.,
UML2), syntaxes déclarative (QVT-like) et
impérative.
Mots clés : MDA, MDE, ATL, QVT, modèle,
transformation.
Licence: Eclipse Public License (EPL).
Partenaires académiques :
Principaux domaines d’applications :
Préparation à la génération de code, rétro-
ingénierie de systèmes existants,
interopérabilité entre outils, etc. Plus
généralement, tout processus impliquant le
traitement de modèles.
Contact : jordi.cabot@inria.fr
5. BlobSeer
BlobSeer est un service de stockage de
données distribuées à grande échelle pour
la gestion avancée de données massives.
Il a été validé sur des clouds Nimbus,
OpenNebula et Microsoft Azure.
Aspects innovants :
BlobSeer utilise le versioning et des
techniques de gestion décentralisée des
données pour assurer un haut débit dans les
conditions d’accès massivement concurrent
aux données.
Pour les applications MapReduce affiche un
gain de performances jusqu’à 30% par rapport
à Hadoop.
Langage : C++, Python, Ruby
Mots clés : stockage sur clouds, versioning,
gestion distribuée des métadata-données,
MapReduce
Licence : LGPL
Principaux domaines d’applications :
Services de stockage avancés pour les
applications gourmandes en masses de
données.
Partenaires académiques :
Contact : Gabriel.Antoniu@inria.fr
http://blobseer.gforge.inria.fr/
6. Bocop
Toolbox for optimization of controlled
dynamical systems.
Features powerful solvers and user-
friendly GUI. Fit for both academic and
industrial use.
Innovative aspects: highly flexible toolbox,
with state-of-the-art algorithms, advanced and
user-friendly GUI
Language, environment:
C++, Linux / Mac / Windows
Keywords:
control, optimization, toolbox
License: EPL (core)
Possible proprietary modules
Main fields of application: transportation,
energy, process optimization, and biology
http://www.bocop.org
Academic partners :
Contact : pierre.martinon@inria.fr
7. CGAL
The Computational Geometry Algorithms Library
Bibliothèque de structures de données et
algorithmes géométriques : 120
composants modulaires, fiables et
génériques.
Langage, standard, environnement :
C++ (Windows, Linux, MacOS), STL, Qt.
Mots clés: triangulations, enveloppes
convexes, maillages, calcul géométrique.
Licence : Open-source (LGPL et QPL) et
propriétaire.
Principaux domaines d’applications :
géophysique, télécoms, CAD/CAM, SIG,
CAO, VLSI, traitement d’images, effets
spéciaux, biologie.
http://www.cgal.org
Excellente robustesse des algorithmes.
Programmation générique C++/STL =
flexibilité car pas de conversion des données
d’entrée requise. CGAL couvre une large
gamme de problématiques en géométrie
computationnelle.
Partenaires académiques :
Contact : pierre.alliez@inria.fr
8. Coccinelle
Coccinelle est un outil de recherche et de
transformation de programmes C. Il est
utilisé pour trouver des bugs et réaliser des
évolutions dans le code du noyau Linux.
Barrière technologique Spécifications
faciles a écrire en termes de règles
reposant sur du code C. Passage à
l’échelle sur des millions de lignes
Langage, standard, environnement Linux,
Windows, Mac. Distribué avec Ubuntu,
Debian, Fedora, etc.
Mots clés: qualité du code, évolution, logiciel
d’infrastructure
Domaine d’applications possibles
Développement de grands logiciels,
Recherche de bugs, Évolution et rénovation
du code, Métriques, Analyse de logiciels.
Partenaires académiques
@@
expression E;
constant C;
@@
– !E & C
+ !(E & C)
Licence : GPLv2
http://coccinelle.lip6.fr
Contact: Julia.Lawall@inria.fr
9. CMA-ES
For solving numerical optimization problems
for non-differentiable, non convex functions.
Implements the Covariance Matrix
Adaptation Evolution Strategy algorithm
Innovative aspects: parameter free optimizer,
solve a wide range of difficult numerical
problems (non-convex, non-differentiable,
multi-modal, …)
Language, environment: C, C++, Fortran,
Java, Matlab and Octave, Python, R, Scilab,
Keywords: numerical optimization, stochastic
optimization, black-box optimization
License: GPL
Main fields of application: Optimize highly-
complex numerical problems, arising for
example in parameter calibration in biology,
physics. For engineering design (launcher,
placement of petrol wells, ...)
http://www.lri.fr/~hansen/cmaes_inmatlab.html
Contact : Nikolaus.Hansen@inria.fr
10. Coccinelle
Coccinelle est un outil de recherche et de
transformation de programmes C. Il est
utilisé pour trouver des bugs et réaliser des
évolutions dans le code du noyau Linux.
Aspects innovants : spécifications faciles a
écrire en termes de règles reposant sur du
code C. Passage à l’échelle sur des
millions de lignes
Langage, standard, environnement : Linux,
Windows, Mac. Distribué avec Ubuntu,
Debian, Fedora, etc.
Mots clés : qualité du code, évolution, logiciel
d’infrastructure
Principaux domaine d’applications :
développement de grands logiciels,
Recherche de bugs, Évolution et rénovation
du code, Métriques, Analyse de logiciels.
Partenaires académiques :
@@
expression E;
constant C;
@@
– !E & C
+ !(E & C)
Licence : GPLv2
http://coccinelle.lip6.fr
Contact : Julia.Lawall@inria.fr
11. COCO
Choose your Optimizer!
COmparing Continuous Optimizers is a
platform for benchmarking numerical
optimization algorithms in order to determine
the best optimizer for a given class of
problem.
Innovative aspects: Tedious task of running
experiments, postprocessing and visualization
entirely automatized. Database of different
benchmarked algorithms with the platform
available.
Language, environment: C, Java, Matlab and
Octave, Python
Keywords: benchmarking, numerical
optimization, black-box optimization.
License: BSD
Main fields of application: Any field where
one needs to solve numerical optimization
problem in black-box scenario, such as
biology, physics (for parameter calibration),
engineering design (launcher, airplane, car,
...).
http://coco.gforge.inria.fr/doku.php
Academic partners:
Contact : Nikolaus.Hansen@inria.fr
12. Coq
Coq offre tout à fois un langage de programmation
fonctionnelle à types dépendants et un formalisme
logique qui, ensemble, permettent tout autant le
développement de théories mathématiques que la
spécification et la certification de propriétés de
programmes. Coq fournit aussi un ensemble vaste
et extensible de méthodes de preuve. Les
programmes de Coq sont extractibles vers OCaml,
Haskell, Scheme, ...
Aspects innovants : Coq a reçu le prix ACM-
SIGPLAN 2013 du meilleur langage de
programmation pour son langage hybride
programmation/logique original et pour ses outils
de preuve et de spécification de haut niveau
(langages de tactiques, systèmes de notations, ...)
Principaux domaines d’application :
Formalisation des mathématiques, certification de
propriétés des programmes, enseignement de la
logique et des langages de programmation à
l'université
Exemple d’applications clés : formalisation
complète du théorème de l'ordre impair en théorie
des groupes, certification d'un compilateur C
Langage : multi-plateformes, écrit en OCaml,
bibliothèques elles-mêmes écrites en Coq
Mots clés : certification, formalisation, preuves
Licence : LGPL
Partenaires académiques : CNRS, ENS Lyon,
U. Paris-Sud, U. Paris-Diderot
Contact : coqdev@inria.fr
http://coq.inria.fr
13. CORESE est un moteur de recherche
web sémantique implémentant des
langages de base tels que RDF, RDFS
et SPARQL.
Aspects innovants : CORESE travaille grâce
à une représentation en graphes
conceptuels. Les opérations sont effectuées
en mémoire vive = rapidité.
Mots clés : web sémantique, moteur de
recherche, RDF, SPARQL
Licence : CeCILL-C
Principaux domaines d’applications :
Totalement générique et indépendant du
domaine: e-learning, biologie, géologie,
ingénierie, etc
Partenaires académiques : I3S, CSTB,
INRA, IFP, IGN
Langage, standard, environnement :
Java disponible sous Linux, MacOS et
Windows
Contact : olivier.corby@inria.fr
http://www-sop.inria.fr/edelweiss/software/coreseCORESE
14. Distem
Distem est un émulateur pour systèmes
distribués. Il permet de transformer un cluster
homogène (composé de nœuds identiques)
en une plate-forme expérimentale où les
nœuds ont des performances différentes, et
sont reliés par un réseau de topologie
complexe. Cela en fait l'outil idéal pour évaluer
des applications visant ce type
d'environnements.
http://distem.gforge.inria.fr
Principaux domaines d’applications : test
d'applications Cloud, P2P ou HPC
Langage, standard, environnement : Ruby,
Linux
Mots-clés : expérimentation, large échelle,
émulation, virtualisation
Licence : GPLv3
Contact : lucas.nussbaum@loria.fr
15. Eztrace
L'amélioration des performances des
applications parallèles (simulation
numérique par exemple) est une phase
importante du développement. Pour cela il
est nécessaire de détecter les différentes
phases de l'application et d'en comprendre
les performances.
La génération automatique de traces
d'exécution permet au développeur de
détecter simplement et rapidement les
différentes phases de l'application et d'en
comprendre le comportement.
Aspects innovants :
- Ne nécessite pas de modification de l'application
(à l’heure actuelle pour générer des traces
d’exécution il faut recoder dans le code source)
- Permet d'analyser les applications mélangeant
plusieurs paradigmes (MPI+thread)
- Surcoût de la génération de traces très faible
Principaux domaine d’applications :
calcul parallèle
Langage, standard, environnement :
C/C++/Fortran
Mots clés :
HPC
Licence :
GPL (distribution sous licence privative possible)
http://eztrace.gforge.inria.fr/
Contact: francois.rue@inria.fr
16. FRAMA-C
Frama-C est une plateforme d'analyse de
programmes C.
Frama-C aide aux activités de mise au
point et de vérification, ainsi qu'à la rétro-
ingénierie au niveau du code source.
Frama-C propose un langage dédié pour
l'écriture de spécifications, ACSL. Différents
greffons au sein de Frama-C utilisent des
techniques complémentaires pour vérifier la
concordance entre le code et les spécifications
écrites dans ce langage.
Mots clés : Vérification de programme,
preuve de programme, logiciel de confiance.
http://frama-c.com/
Principaux domaines d’applications :
Transports, énergies, santé, sécurité.
Langage, standard, environnement :
Langage Ocaml
Partenaires :
Licence : GNU LGPL v2
Contact : claude.marche@inria.fr
17. FraSCAti
FraSCAti est une plate-forme middleware
pour les architectures orientées services
(SOA) conformes au standard
OASIS/OpenSOA Service Component
Architecture (SCA).
Aspects innovants : FraSCAti est la
première plate-forme réflexive pour SCA. Elle
apporte un modèle unifié pour le
développement de composants applicatifs et
middleware SOA.
Principaux domaines d’applications :
applications réparties large échelle, back-
office, applications Web, applications mobiles
sur SmartPhones.
Langage : Java, disponible pour Windows,
Unix and MacOS X.
Mots clefs : SCA, SOA, composant,
middleware.
Licence : LGPL. Projet du consortium OW2.
http://frascati.ow2.org
Partenaires académiques :
Contact : philippe.merle@inria.fr
18. Gazelle
Plateforme Web pour la gestion de test
d’interopérabilité dans le domaine de la
santé.
Mettre une image
représentative
des fonctions du logiciel
Langage, standard, environnement :
Java, Jboss, Seamframework
Mots clés : IHE, Dicom, HL7, Test
Management, Interoperability
Licence : Apache2
http://gazelle.ihe.net
Partenaires
Contact : eric.poiseau@inria.fr
19. Langage de programmation utilisant le web
comme plate-forme d’exécution visant des
applications multimédia interactives
Langage, standard, environnement :
- C (Linux, MacOS, Windows, Android)
- Java virtual machine
Mots clés : Web 2.0, domotique,
multimédia, bureautique
Licence : logiciel libre sous GPL
Aspects innovants : HOP offre, dans une
syntaxe unique, toutes les fonctionnalités
nécessaires à la programmation
d’applications multimédia depuis les
protocoles de communication jusqu’à
l’algorithmique classique en passant par la
génération de pages HTML
hop.inria.fr
HOP
Contact : jeremy.fidelak@inria.fr
20. HWLOC
Portable Hardware Locality
HWLOC découvre la topologie de vos
ordinateurs et la représente de manière
intelligible, hiérarchique et portable.
Aspects innovants :
L’utilisateur peut visualiser la topologie
graphiquement et la manipuler dans ses
programmes pour consulter différents
paramètres de l’ordinateur.
Langage, standard, environnement: C,
Python, Perl.
Mots clés: Simulation numérique,
topologie, hiérarchie, multicoeur, NUMA,
réseau, HPC
Licence: new BSD licence, Open MPI
consortium
Principaux domaine d’applications :
L’objectif principal d’HWLOC est d’aider
les applications à obtenir des informations
facilement compréhensibles sur
l’architecture des machines modernes de
calcul afin de les exploiter de manière plus
adaptée et efficace.
http://www.open-mpi.org/projects/hwloc/
Contact: brice.goglin@inria.fr
21. Jade
Aspects innovants :
Reconfiguration de systèmes distribués et
coordination de boucles de contrôle
Principaux domaines d’applications :
Jade est utilisé pour implanter des logiciels
capables de s'auto-réparer de s'auto-
dimensionner pour ajuster le niveau de
performance ou la consommation
énergétique.
Licence : Logiciel libre.
http://proton.inrialpes.fr/~depalma/JADEWEB/jade.html
Jade est un système distribué capable de
s'auto-observer et de s'auto-reconfigurer.
Mots clés : Système autonome.
Langage et environnement : Java et
logiciels patrimoniaux, Grappes de
machines.
Partenaires académiques :
Contact : Noel.De_Palma@inria.fr
22. Kadeploy
Kadeploy est un système de déploiement
scalable, efficace et fiable pour les clusters
de grande taille et les grilles. Il fournit un
ensemble d'outils pour cloner, configurer et
gérer des nœuds d'un cluster. Il peut
déployer un cluster de 300 nœuds en
quelques minutes, sans intervention de
l'administrateur système. Linux, *BSD,
Windows et Solaris sont supportés.
Aspects innovants :
Sur la plate-forme expérimentale Grid'5000,
Kadeploy3 permet aux utilisateurs de
reconfigurer leur environnement expérimental
en installant leur propre pile logicielle sur les
nœuds, pour la durée d'une expérience.
Principaux domaines d’applications :
datacentres, clusters HPC, Clouds privés
http://kadeploy3.gforge.inria.fr
Licence : CECILL V2.0
Langage, standard, environnement :
Ruby, Linux
Mots-clés : déploiement de clusters
Contact : lucas.nussbaum@loria.fr
23. KERMETA
Kermeta est un langage de
métamodélisation permettant de décrire la
structure ainsi que le comportement des
métamodèles.
Aspects innovants :
Kermeta permet de définir et d’outiller de
nouveaux langages en améliorant la manière
de spécifier, simuler et tester la sémantique
opérationnelle des métamodèles.
Langage, standard, environnement : Java,
Kermeta.
Mots clés : MOF (Meta Object Facility) de
l’OMG (Object Management Group)
exécutable, Métamodélisation.
Licence : logiciel Libre sous EPL.
Principaux domaines d’applications :
développement agile de logiciels.
http://kermeta.org/
Partenaires académiques :
Contact : didier.vojtisek@inria.fr
24. LimSee3
LimSee3 est un outil auteur pour la
création de documents multimédias guidé
par des templates.
Particulièrement adapté au web.
LimSee3 peut produire des documents au
format SMIL, standard pour le web, mais aussi
dans d'autres formats. Son modèle interne de
haut niveau permet de s'abstraire des formats
de publication pour s'adapter à l'auteur et au
type de document à produire.
Mots clés : Multimédia, Édition, Publication,
Web.
http://limsee3.gforge.inria.fr/
Développé avec le soutien du programme IST
de la Commission Européenne.
Licence : CeCILL
Langage, standard, environnement :
Langage Java, disponible pour Windows,
Unix et Mac OS X.
Contact : vincent.quint@inria.fr
25. MoDisco
MoDisco est un outil/framework Eclipse
générique et extensible fournissant aux
développeurs un ensemble de
composants de base réutilisables et
dédiés à l ’ élaboration de solutions de
rétro-ingénierie dirigée par les modèles.
http://www.eclipse.org/MoDisco/
Contact : hugo.bruneliere@inria.fr
Langage, standard, environnement :
Eclipse, EMF, Java, OMG ADM.
Aspects innovants :
Support possible pour tous les types de
systèmes existants (e.g., JEE), gestion de
leur taille et de leur complexité.
Mots clés : MDA, MDE, rétro-ingénierie,
modernisation, découvreur, modèle.
Licence: Eclipse Public License (EPL).
Partenaire académique :
Principaux domaines d’applications :
Tout projet nécessitant la conception, le
développement, la mise en place et
l’utilisation de solutions de rétro-ingénierie
de systèmes existants (e.g., pour la
modernisation d’applications).Support for multiple
legacy technologies
•Documentation
•Impact analysis
•Models
•Viewpoints
•Upgrade
•Migration
•Metrics
•Quality Assurance
Eclipse Modeling
Source code
Databases
Configuration
files
MoDisco
Other sources
Support for multiple
scenarios/results
Models of the
system(s)
Discoverers
Generators
Transformations
26. Moose accélère la production d'analyses
logicielles en fournissant des modèles
extensibles et des librairies réutilisables.
Divers modèles sont proposés pour l'analyse
statique ou dynamique des programmes,
l'historique de développement, le code
procédural ou aspect.
Smalltalk (open-source Pharo)
Windows, Linux, Mac.
Mots clefs : Rétro-ingénierie, Méta-
modélisation, Visualisation du logiciel.
Licence : BSD
http://www.moosetechnology.org
Partenaires académiques :
Moose
Moose est une plate-forme ouverte et
extensible pour l'analyse logicielle,
intégrant des modèles de langages, des
métriques, d’algorithmes, des moteurs de
visualisation et de navigation.
Contact: stephane.ducasse@inria.fr
27. NS-3
NS-3 est un simulateur réseau qui
permet la validation et l’optimisation de
protocoles réseau (WiFi, WiMAX,
TCP/IP, LTE, etc).
Aspects innovants : NS-3 permet de simuler
des modèles réseau en temps réel (mode
émulation) et d’échanger des paquets réels
avec le protocole simulé.
Mots clés: simulateur réseau, évènements
discrets, émulation, protocoles internet
Licence : GPL v2 avec communauté de
développeurs
Principaux domaines d’applications :
Réseaux, Télécommunications, Militaire,
Transport, etc.
http://www.nsnam.org/
Partenaires académiques :
Langage, standard, environnement :
C++ disponible sous Linux, MacOS et
Windows (via Cygwin ou une machine
virtuelle)
Contact : walid.dabbous@inria.fr
28. OAR
Aspects innovants :
Polyvalence, personnalisation, passage à
l'échelle, maîtrise de la complexité,
ordonnanceur adaptable pour optimiser la
consommation
Langage : Perl, Ruby, Ocaml, Bash, SQL.
Disponible pour UNIX : Debian, Centos,
RedHat.
Licence : GPL
Utilisé (entre autre) par Grid’5000, SensLAB,
le mésocentre CIMENT, BRGM.
Partenaires académiques :
Principaux domaines d’applications :
Exploitation des infrastructures pour le calcul à
haute performance.
Gestionnaire de ressources et de tâches
pour les infrastructures de calcul.
Mots clés : gestionnaire de ressources,
clusters, grille légère, cloud, HPC.
Contact : pierre.neyron@inria.fr
http://oar.imag.fr
29. OCaml
Aspects innovants : OCaml est l'un des trois
langages fonctionnels les plus utilisés au monde, et le seul
qui combine les styles de programmation fonctionnels,
impératifs et par objets au sein d'un même système de
types.
Langage, standard, environnement :
Programmé en OCaml et en C, OCaml est compatible avec
les environnements Linux, BSD, MacOS X, et Microsoft
Windows.
Mots clés : programmation fonctionnelle, typage statique,
calcul symbolique, compilation, analyse statique.
Licence : logiciel libre distribué sous licences QPL et
LGPL. Une licence spécifique de type BSD est offerte aux
membres du Consortium Caml.
Principaux domaines d’applications : Calcul
symbolique : compilateurs, générateurs automatiques de
code, analyseurs statiques, vérificateurs de programmes,
démonstration automatique, assistants de preuve, etc.
Programmation système, réseau et Web de haut niveau.
OCaml est aussi utilisé dans l'industrie financière, notamment
pour la modélisation et le pricing de produits financiers
complexes.
http://caml.inria.fr/
http://ocaml.org/
Contact : Xavier.Leroy@inria.fr
Le langage OCaml est un langage de programmation
fonctionnelle qui combine expressivité et sûreté de
programmation au moyen d'un système de types précis
et souple, avec inférence automatique des types. Le
système OCaml est une implémentation très complète
de ce langage, incluant deux compilateurs (un vers une
machine virtuelle, pour le prototypage rapide et
l'utilisation interactive, l'autre produisant du code
machine très efficace pour x86, ARM, PowerPC et
SPARC), un débogueur, un générateur de
documentation, un gestionnaire de compilation, un
gestionnaire de packages, et de nombreuses
bibliothèques développées par la communauté des
utilisateurs.
30. Ocsigen
Framework de développement
d'applications Web et mobiles
Aspects innovants :
Ocsigen permet de programmer l'ensemble d'une
application Web client-serveur avec un seul et
même langage, avec des concepts de haut-
niveau conçus spécialement pour ce nouveau
style de programmes.
Il utilise la puissance du langage OCaml pour
améliorer la fiabilité et la sécurité des applications
et réduire considérablement le temps de
débogage.
Mots clés : Web 2.0, HTML5, Cloud, fiabilité,
sécurité
Licence : LGPL
Principaux domaines d’application :
Ocsigen s'adresse à tous ceux qui veulent
développer des applications Web et mobiles :
jeux, réseaux sociaux, forums, bureautique,
webmails, organisation personnelle, etc.
Ocsigen est utilisé par de plus en plus de
startups Web (BeSport, Rambugo, Ashima Arts,
Pumgrana, Xprime, NYU CGSB Genomics
Core...)
http://ocsigen.org
Partenaires académiques :
Contact : vincent.balat@inria.fr
Exemple d’application Web de dessin collaboratif
31. OMiSCID
Construction d'application peer-to-peer ou
client/server.
Facilite le design d'application avec une
architecture orientée service.
Middleware cross-platforme cross-langage
pour les communications réseaux et la
découverte dynamique de services.
Aspects innovants :
Construction d'applications réparties dans des
environnements hétérogènes et dynamiques.
Langage, standard, environnement :
Java, C++, Python sous Windows, Linux, Mac
OSX, Android.
Mots clés :
Architecture Orientée Service, Informatique
Ubiquitaire, Middleware.
Licence : MIT
Principaux domaines d’applications :
Applications ubiquitaires, calcul distribué,
environnements intelligents.
Partenaire académique :
Contact : james.crowley@inria.fr
http://omiscid.gforge.inria.fr/
32. OpenMASK
OpenMASK (Modular Animation and
Simulation Kit) est une plate-forme de
développement et d'exécution pour des
applications modulaires, hétérogènes et
distribuées dans les domaines de
l'animation, la simulation et la réalité
virtuelle.
Aspects innovants :
L’unité de modularité d’OpenMASK est
l’objet de simulation. Il sert à modéliser aussi
bien une entité, un comportement ou le
contrôle d’un mouvement qu’un périphérique
d’interaction.
Language, standard, environment :
C++, Windows et Linux.
Mots clés : Réalité virtuelle, simulation,
interfaces homme-machine.
Licence : Logiciel libre sous licence QPL
Principaux domaines d’applications :
Industrie manufacturière, sport, éducation,
formation.
http://www.openmask.org/
Partenaires académiques :
Contact : georges.dumont@irisa.fr
33. Open-MX
Open-MX est l’implémentation d’une pile
de protocoles qui cible les architectures
de calcul haute performance (HPC) à
réseau Ethernet et permet l’optimisation
des communications MPI.
Aspects innovants :
L’utilisation des protocoles TCP/IP pour MPI
limite les performances. L’apparition de
nouvelles normes dédiées a fourni une
alternative à ce problème mais ces normes
nécessitent l’utilisation de matériels réseau
spécifiques coûteux.
Open-MX permet un gain en débit, multiplié
par 2, et en latence, divisée par 5, par rapport
à TCP/IP, l’utilisation du matériel réseau
normal et est compatible avec les logiciels
existants.
Mots clés : calcul haute performance, calcul
parallèle, communication MPI, multi-
processeur.
Licence : distribué sous licence libre LGPL.
http://open-mx.org
Langage, standard, environnement : C,
Linux.
Domaine d’applications : Simulation
numérique.
Contact : brice.goglin@inria.fr
34. OpenViBE
OpenViBE est une plate-forme logicielle pour
créer, tester et utiliser des interfaces
cerveau ordinateur (commande des
ordinateurs par l’activité cérébrale), et
développer des applications de
neurosciences temps-réel.
Aspects innovants : OpenViBE permet le
traitement des données cérébrales (EEG, MEG)
en temps-réel: acquisition, filtrage, extraction de
caractéristiques, classification, visualisation.
OpenViBE propose une interface graphique
simple pour les non-programmeurs.
Principaux domaines d’applications :
Handicap, Santé, Neurosciences, Robotique,
Multimédia, jeux vidéo, etc.
Mots clés : Interfaces cerveau-ordinateur,
Neurofeedback, EEG, traitement du signal,
réalité virtuelle, interactions 3D, programmation
graphique.
Langage et environnement : C++ disponible
sous Windows et Linux.
Licence : logiciel libre sous licence AGPL V3.
Partenaires académiques :
INSERM, CEA-List, GIPSA-Lab.
Contact : anatole.lecuyer@inria.fr
http://openvibe.inria.fr
35. ORCHIDS
ORCHIDS est un outil de détection et de
prévention d’intrusions. ORCHIDS détecte
des attaques modernes complexes, par
corrélation entre événements.
http://www.lsv.ens-cachan.fr/Software/orchids/
Contact : serge.abiteboul@inria.fr
Aspects innovants : ORCHIDS est efficace,
extensible, temps réel, et se connecte sur de
nombreux flux et formats d’événements,
réseaux ou systèmes.
Licence : Cecill 2.
Partenaires académiques :
Principaux domaines d’applications :
Sécurité/Défense.
Sécurisation des réseaux domestiques
Intégration éditeurs de logiciel.
Langage : C, Prolog.
Mots clés : Corrélation Détection Intrusion
Sécurité Systèmes.
36. ParadisEO
ParadisEO est une plate-forme logicielle
facilitant l’utilisation, le développement et
la comparaison de métaheuristiques
(algorithmes d’optimisation visant à
résoudre des problèmes d’optimisation
difficiles) classiques, multiobjectifs,
parallèles et hybrides.
ParadisEO offre des implémentations de
nombreuses métaheuristiques classiques de
la littérature ainsi que des métaheuristiques
novatrices. ParadisEO permet également la
parallélisation des métaheuristiques.
ParadisEO est utilisé pour la résolution de
problèmes d’optimisation de grande taille issus
de nombreux domaines, tels que : le transport,
la logistique, les systèmes de
télécommunication ou la bioinformatique.
Langage, standard, environnement :
Windows, Unix et MacOS X Langage C++,
Cmake.
Mots clés : métaheuristiques, parallélisation.
Licence : libre sous licence CeCILL.
Partenaires académiques :
ParadisEO-PEO
ParadisEO-EO
ParadisEO-MO ParadisEO-MOEO
EO : Métaheuristiques à population de solutions
MO : Métaheuristiques à solution unique
MOEO : Métaheuristiques pour l’optimisation multiobjectif
PEO : Métaheuristiques hybrides, parallèles et distribuées
Contact : El-Ghazali.Talbi@inria.fr
http://paradiseo.gforge.inria.fr/
37. PaStiX
PaStiX est un solveur direct qui s’utilise
pour résoudre des systèmes
numériquement difficiles en parallèle.
En gardant les qualités intrinsèques
d’une méthode directe (robustesse), il
consomme moins de mémoire ce qui lui
permet de résoudre des problèmes de
très grande taille. Par exemple, le
solveur PaStiX est capable de résoudre
un problème industriel réel 3D à 80M
d'inconnues.
Langage : fortran, C
Mots clés : Algèbre Linéaire, Calcul Hautes
Performances, Factorisation, Matrices Creuses,
Solveur de Systèmes Linéaires
Licence : CECILL C
Partenaires académiques :
http://pastix.gforge.inria.fr/
Principaux domaines d’applications :
Toutes applications nécessitant la résolution de
systèmes de très grande taille (MHD, mécanique
des fluides/structures, électromagnétisme…)
Aspects innovants :
PaStiX s’adapte aux différentes architectures: ses
algorithmes lui permettent par exemple de
s’affranchir du problème des hétérogénéités des
grappes. Très évolutif, PaStiX est
particulièrement bien adapté aux serveurs
multicoeurs, il peut maintenant utiliser les
processeurs des cartes graphiques (GPU). PaStiX
réduit un point bloquant qui est le surcoût
mémoire lié au parallélisme.
Simulation du contrôle d’instabilité d’un
plasma, application à ITER (ANR ASTER,
code JOREK CEA Cadarache)
Contact : pierre.ramet@inria.fr
38. Pharo
Pharo est un langage et un
environnement de programmation
Smalltalk, dynamique, propre, innovant,
gratuit et open-source avec lequel des
applications professionnelles peuvent
être développées.
En fournissant un système stable et un noyau
simple, des outils de développement
excellents, et des mises à jour régulières,
Pharo est une plateforme attrayante pour
créer et déployer des applications critiques en
Smalltalk.
Fonctionnant sur Windows, Unix, MacOS X et
iPhone.
Mots cléfs : Programmation objet, système
réflexif, Smalltalk.
Licence : MIT
http://www.pharo-project.org
Partenaires académiques :
Contact : Stephane.Ducasse@inria.fr
39. Polychrony
Une boîte à outils pour le développement
intégré d’applications embarquées construite
autour du langage polychrone Signal.
Mots clés : langage synchrone, multi-horloges,
systèmes critiques, temps réel, GALS, vérification,
preuve, architecture, optimisation, cosimulation,
génération de code
http://www.irisa.fr/espresso/Polychrony
Aspects innovants :
Polychrony fournit une structure formelle pour :
• Raffiner des descriptions dans une approche top-
down
• Abstraire des propriétés de composants
• Assembler des composants prédéterminés
• Valider une application à différents niveaux
Principaux domaines d’applications :
Systèmes temps réel, commande de processus,
traitement du signal, avionique, contrôle automobile.
Licence : logiciel libre sous licences GPL-v.2 et EPL
Langages, environnements : C, C++, Java.
Linux, Solaris, MacOS, Windows. Intégré dans les
plates-formes OpenEmbeDD, TopCased, Spacify.
Partenaire académique :
Contact : jean-pierre.talpin@inria.fr
40. Intergiciel Java portable pour le calcul
multi-core parallèle et distribué. Il
permet la programmation et l’exécution
d’applications parallèles ainsi que le
management de ressources (stations,
serveurs, clusters, grilles ou cloud)
Langage, standard, environnement :
Java (Linux, MacOS, Windows)
Mots clés : calcul distribué, grilles de
calcul, cloudcomputing
Licence :
- Libre (AGPL)
- Propriétaire via
Principaux domaines d’applications :
systèmes et services distribués
Aspects innovants : Objets actifs
distribués, migration transparente de
processus, composants logiciels
communicants à grande échelle
proactive.inria.fr
Contact : eric.madelaine@inria.fr
ProActive
41. (PT-)Scotch
Scotch est un partitionneur de graphes. Il
permet d'optimiser le découpage d'un
problème, modélisé par un graphe, en un
ensemble de sous-problèmes les plus
indépendants possibles et de tailles
équivalentes. Ces sous-problèmes peuvent
éventuellement être résolus en parallèle.
Aspects innovants : Scotch calcule des
partitionnements sur machine séquentielle, et PT-
Scotch sur machine parallèle. PT-Scotch peut
manipuler de très grands graphes (2 milliards de
sommets et au delà), sur plusieurs dizaines de
milliers de processeurs. La qualité des solutions
fournies par PT-Scotch ne dépend pas du nombre de
processeurs sur lesquels il s'exécute.
Langage : C
Mots clés: calcul haute performance, algorithmique
de graphes, décomposition de domaines,
partitionnement de maillages, renumérotation de
matrices creuses
Licence: CECILL C
Partenaires académiques :
Principaux domaines d’applications :
répartition de la charge de calcul d'un problème
scientifique sur les processeurs d'une machine
parallèle, placement de circuits VLSI, optimisation
combinatoire, etc...
http://www.labri.fr/~pelegrin/scotch/
Partitionnement arête en 8
parties.
Chaque partie est attribuée
à un processeur différent.
Partitionnement sommet pour
renuméroter les blocs d'une
matrice creuse.
Contact : francois.pellegrini@labri.fr
42. QuiXProc
QuiXProc permet la lecture et le traitement
de fichiers XML sans nécessiter le
chargement de la totalité du fichier.
Au lieu de manipuler un arbre XML,
QuiXProc manipule les flux et utilise la
suite d'événements ouverture/fermeture
de balises.
XProc est le langage définit par le W3C pour
orchestrer les processus de données.
QuiXProc est une implémentation performante
de cette norme pour les flux XML.
Langage : Java
Mots clés: XML, Flux, XProc
Licence : GPL ou propriétaire selon la
version du logiciel.
L'approche permet d’accélérer le traitement de
documents XML volumineux et de réduire les
ressources utilisées (mémoire, CPU...)..
http://www.quixproc.com/
Partenaire :
Contact : joachim.niehren@inria.fr
43. Innovative aspects: the added value of
Scikit-Learn lies with the great quality and
robustness of the functions available in its
library. All functions are also extremely well
documented.
Language, environment : Scientific Python
(Scipy)
Keywords : Machine-Learning, Classification,
regession , clustering
License : BSD
Main fields of application: Data mining, and
more generaly any field requiring robust
machine-learning solutions
Academic partners : Telecom Paris, CEA
Industrial Partners : Nuxeo, Saint Gobain,
Logilab, Tinyclues
Scikit-Learn http://scikit-learn.org
Contact : bertrand.thirion@inria.fr
Scikit-learn is a Python module integrating
classic machine learning algorithms in the
tightly-knit scientific Python world. It aims to
provide simple and efficient solutions to
learning problems, accessible to everybody
and reusable in various contexts: machine-
learning as a versatile tool for science and
engineering.
44. SimGrid
Simulateur d’environnements hétérogènes
à large échelle, dédié à la conception et à
l’expérimentation d’applications
distribuées.
SimGrid offre un cadre générique et donne
accès à un environnement totalement
contrôlé, assurant ainsi la complète
reproductibilité des résultats.
Disponible pour diverses plateformes et
architectures matérielles (Linux, Windows,
Mac OS X, Solaris, IRIX, …).
Mots clefs : Grid Computing, Distributed
Applications, Large-scale Emulators.
Licence : GNU LGPL
Principaux domaines d’applications :
Tous domaines utilisant des ressources
largement distribuées (P2P, clusters, grilles,
clouds).
http://simgrid.gforge.inria.fr/
Exemple de plate-forme distribuée moderne : la grille de calcul LCG
fédère plus de 170 centres de calcul répartis dans 34 pays. Elle
permet le stockage et l'analyse de toutes les données produites
dans le cadre du Large Hadron Collider au CERN.
Partenaires académiques :
Contact : Martin.Quinson@inria.fr
45. Snooze
Snooze : un système auto-organisant
pour la gestion de l'énergie dans les
clouds.
Aspects innovants :
- Réduction de la consommation d’énergie
dans les clouds.
- Placement, consolidation, migration de
machines virtuelles.
- Gestion décentralisée des ressources.
- Tolérance aux fautes.
- Auto–réparation en cas de défaillance.
Langage, standard, environnement : Java
Mots clés : Informatique en nuage, gestion de
l’énergie, consolidation, tolérance aux fautes,
auto-organisation, auto-réparation,
virtualisation
Licence : GPL v2
Principaux domaines d’applications :
- Fournisseurs de clouds privés.
- Banc d’essai pour l’évaluation d’algorithmes
d’ordonnancement de VM dans un
environnement réel.
http://snooze.inria.fr/
Contact : christine.morin@inria.fr
46. SOFA est une plate-forme de recherche et
développement dédiée aux simulations
physiques interactives, et en particulier à la
simulation médicale.
SOFA regroupe de nombreux algorithmes
issus de domaines de recherche variés. Des
modèles de nature différente peuvent être
combinés de façon à produire des simulations
complexes qui restent compatibles avec des
temps de calcul optimaux.
Langage, standard, environnement : C++,
Windows, Unix and Mac OS X
Licence : Open Source avec certains
modules propriétaires
Principaux domaines d’applications :
apprentissage et planification d’interventions
médicales, bio-mécanique, jeux vidéos, ..
www.sofa-framework.orgSOFA
Partenaires académiques :
Mots clés : simulation physique,
biomécanique, surgétique, GPU
Contact : stephane.cotin@inria.fr
47. Intergiciel Java portable pour le
développement d’applications visant
l’échange de données en pair-à-pair
Langage, standard, environnement:
Java (Linux, MacOS, Windows)
Mots clés: partage, échange distribué, pair-
à-pair
Licence : logiciel libre sous LGPL
Principaux domaines d’application: tout
système fonctionnant en pair-à-pair
Aspects innovants: SON permet de
concevoir facilement tout type d'application
bâtie sur une architecture orientée service
décentralisée
http://www-sop.inria.fr/teams/zenith/SON/index.phpSON
Contact : jeremy.fidelak@inria.fr
48. Tom
Tom est un langage de programmation
orienté pattern-matching, basé sur l’utilisation
de règles et de stratégies, adapté en
particulier à la manipulation de structures
arborescentes.
Aspects innovants : Tom ajoute des
fonctionnalités de haut niveau à Java,
permettant notamment la programmation par
filtrage.
Langage, standard, environnement :
développé essentiellement en Tom et Java
(entièrement bootstrappé). Indépendant de la
plateforme d’utilisation.
Licence : GNU GPL (noyau), BSD
(librairies)
Principaux domaines d’applications :
compilation, transformation de modèles,
sûreté et sécurité des logiciels.
http://tom.loria.fr
Mots clefs : pattern matching, strategies, rule-
based programming, graph rewriting,
compilers.
Partenaires académiques:
NationalBonsaiandPenjing
Museum–DomainePublic
PhotoAxwel-LicenceCreative
CommonsAttribution2.0Generic
Contact : Pierre-Etienne.Moreau@loria.fr
49. VEP
Aspects innovants :VEP intègre une
interface de gestion d'infrastructures IaaS
privées et gère les applications en tenant
compte des spécifications de QoS, des
contraintes de placement et de localisation
négociées via des SLAs
Langage, standard, environnement : Java
Mots clés : Cloud computing, IaaS, standards
OVF et CIMI, SLA, sécurité
Licence : open source (new BSD),
exploitation possible
Principaux domaines d’applications :
services d'administration; allocation des
resources & ordonnancement des machines
virtuelles; cycle de vie des applications et des
services dans les nuages informatiques privés
http://vep.gforge.inria.fr
Partenaires académiques :
modules externes du CNR
Contact : contrail-contact@inria.fr
Un logiciel de gestion d'infrastructures de
type IaaS
• Interface REST et interface
d'administration graphique
• Logiciel extensible et réutilisable
Déploiement automatique d'applications
distribuées
• Réservation en avance
• Tolérance aux fautes
• Prise en compte des SLA
• Gestion de l'élasticité
50. Aspects innovants : solveur produisant
des preuves pour les formules quantifiées
ou non, avec symboles non-interprétés et
de l'arithmétique linéaire sur les entiers et
les réels, ainsi que leur combinaison
Langage, environnement : C / Toutes plate-
formes
Mots clés : Déduction automatique,
Vérification, Résolution de formules
Licence : BSD
Principaux domaines d’applications : Tous
les domaines nécessitant la résolution de
grandes formules logiques avec prédicats
interprétés (par ex. de l'arithmétique)
http://www.verit-solver.org/
Partenaires académiques :
Contact : Pascal.Fontaine@inria.fr
VeriT est un solveur SMT (Satisfaisabilité
Modulo Théories) ouvert et efficace, avec
des procédures de décision efficaces pour
les symboles non-interprétés et
l'arithmétique linéaire
VeriT
51. ViSEvAl
ViSEvAl, un outil pour la visualisation et
l’évaluation d'algorithmes d’analyse vidéo.
L'outil propose des métriques pour
évaluer les principales étapes du
traitement automatique de séquences
vidéos : détection, classification, suivi et
reconnaissance d’événements.
Aspects innovants : ViSEvAl permet de
visualiser les résultats d'algorithmes de
traitement vidéo (détection, événements)
ainsi que les données brutes (vidéos,
accéléromètres,...) de manière pratique
pour l'utilisateur (synchronisation temporelle
et spatiale des différents capteurs, scène 3D
virtuelle). Grâce à une implémentation
interface/plugin les utilisateurs peuvent
contribuer à cet outil en proposant de
nouveaux critères d’évaluation.
Langage, standard, environnement :
ecrit en C++, le logiciel est compatible
Linux
Mots clés : évaluation, métrique
Licence : ViSEvAl est sous licence AGPL
http://www-sop.inria.fr/teams/pulsar/EvaluationTool/ViSEvAl_Description.html
Contact : francois.bremond@inria.fr
52. ViSP
Aspects innovants : ViSP permet le proto-
typage rapide de tâches d’asservissements visuels.
ViSP inclut entre autres des modules permettant de
calculer les lois de commande à envoyer au robot,
des algorithmes de traitement d’images et de vision
par ordinateur pour réaliser le suivi d’objets, estimer
une pose ou une homographie en temps-réel. ViSP
inclut également des outils de visualisation et de
simulation.
Langage, standard, environnement : écrit
en C++, le logiciel est compatible avec Linux,
OSX et Windows.
Mots clés : robotique, asservissement visuel,
vision par ordinateur.
Licence : logiciel libre sous licence GNU
GPLv2. Une licence professionnelle est
également disponible.
Principaux domaines d’applications :
robotique, vision par ordinateur, réalité
augmentée, animation.
http://www.irisa.fr/lagadic/
Contact : Francois.Chaumette@irisa.fr
ViSP, une plate-forme logicielle pour
l'asservissement visuel, est unique. Le logiciel
permet le prototypage et le développement
d'applications multi plates-formes exploitant
les techniques de suivis visuels et
d'asservissements visuels. .
53. WHY
WHY est une boîte à outils pour la preuve de
programmes. Elle permet de prouver, en
utilisant des outils externes de démonstration
automatique ou semi-automatique de
théorèmes, qu'un code respecte des
spécifications formelles du comportement
attendu.
Aspects innovants: la vraie valeur ajoutée de
WHY réside dans son approche modulaire et
sa capacité à disposer de plusieurs entrées (C,
Java, …) et plusieurs prouveurs en sortie
(automatiques, interactifs).
Langage, standard, environnement:
Langage OCaml
Mots clés: méthodes formelles,
développement de logiciels sûrs
Licence: LGPL
Principaux domaines d’applications :
Transports, énergies, santé, finance.
http://why3.lri.fr/
Partenaires académiques: Université Paris-
Sud, CNRS, CEA
Contact : claude.marche@inria.fr
Partenaires industriels: AdaCore
54. Yarta
Intergiciel pour la gestion des écosystèmes
sociaux qui offre des interactions sociales
riches dans les environnements mobiles
Aspects innovants :
Mécanisme avancé de contrôle d'accès
social, système d'information décentralisé
omniprésent, partage et réutilisation des
données entre plusieurs applications, API
riche pour les capteurs sociaux mobiles.
Langage, standard, environnement:
Java SE/Android
Mots clés: rdf, web sémantique, les réseaux
sociaux
Licence: Dual, LGPL v2.1
Principaux domaines d’applications :
Développement d'applications sociales,
interactions sociales riches
http://yarta.gforge.inria.fr/
Contact : george.rosca@inria.fr