inria - software assets - aerospace
DESCRIPTION
Inria's software assets Aerospace & Aeronautics for France India Techno Summit october 2013TRANSCRIPT
Inria, a public research institute established in 1967, produces excellent research in
mathematics and computational sciences. The institute covers the entire spectrum of
research at the heart of these areas of activity, and works also on issues asked by other
sciences and by economic and societal actors.
Inria can be considered as a software provider. Indeed, approximately 1000 software are
currently developed of which a large part is distributed with an open source license. Inria is
convinced that this production deserves to be more widely known among academic and
economical actors as it is a source of value creation, which is one of Inria's missions.
The India France Technology Summit is an opportunity to raise awareness of this software
production. Thus, this catalog offers an extract from software assets, as part of the Summit
themes such as health, smart cities, smart grid, critical embedded software, etc. .
You can find all these software files, and many others on
Icommunity: https://www.icommunity.fr/patrimoine-technologique-inria
Alt-Ergo
is an automatic solver of
formulas based on SMT technology. It is
especially designed to prove mathematical
formulas generated by program verification
tools, such as Frama-C for C programs, or
SPARK for Ada code. Initially developed in
Toccata research team, Alt-Ergo's distribution
and support are provided by OCamlPro since
September 2013.
Innovative aspects : - Polymorphic language input - Interactive graphical interface - Qualification DO-178 B/C (avionic)
Language, standard, environment :
OCaml (Linux, Windows, MacOS)
Keywords: software reliability, formal methods,
proof
Licence: CECILL-C
Main fielfs of applications : - Program verification - Formal tests generation - Model checking - Cryptographic protocols verification
http://alt-ergo.lri.fr
Partners :
Toccata &
Contact: [email protected]
Mais users : - Airbus & Atos Origin (projet de l'A350) - AdaCore & Altran (preuve de code Ada) - CEA (preuve de programmes C)
ATL (AtlanMod Transformation Language) is a
tool dedicated to model transformation,
complete, integrated into Eclipse and including
its own development & execution environment,
concrete examples as well as the
corresponding associated documentation
Language, standard, environment: Eclipse, EMF, Java
http://www.eclipse.org/m2m/atl/
Innovative aspects:
Support for all model types (e.g., UML2),
declarative (QVT-like) and imperative
syntaxes.
Keywords: MDA, MDE, ATL, QVT, model, transformation
License: Eclipse Public License (EPL)
Partners:
Main fields of application: Code generation preparing, reverse engineering of legacy systems, tool interoperability, etc. More generally, any context implying model processing.
Contact: [email protected]
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
URL: www.bocop.org
Academic partners :
Contact: [email protected]
Coccinelle
Coccinelle is a tool for code search and transformation for C programs. It has been extensively used for bug finding and evolutions in Linux kernel code.
Innovative aspects: Ease of writing specifications, in terms of C-code based patterns. Scales to millions of lines of code.
Language, environment: Linux, Windows, Mac. Distributed with Ubuntu, Debian, Fedora, etc.
Keywords : code quality, evolution, infrastructure software
License : GPLv2
Main fields of application: Large-scale software development. Bug finding, software evolution, code renovation, code metrics, software understanding.
http://coccinelle.lip6.fr
Academic partners :
Contact: [email protected]
@@
expression E;
constant C;
@@
– !E & C
+ !(E & C)
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: [email protected]
Coq
Coq provides with both a dependently-typed functional programming language and a logical formalism, which, altogether, supports the formalisation of mathematical theories and the specification and certification of properties of programs. Coq also provides with a large and extensible set of automatic or semi-automatic proof methods. Coq's programs are extractible to OCaml, Haskell, Scheme, ...
Innovative aspects: Coq received the ACM-SIGPLAN Programming Languages Software 2013 award for its original mixed programming/logic language and for its high-level methods of proof and specification (tactic language, systems of abbreviation, ...)
Language, environment: multi-platforms, written in OCaml, libraries themselves written in Coq
License: LGPL
Main fields of application: formalisation of mathematics, certification of properties of programs, university-level teaching of logic and programming
http://coq.inria.fr
Academic partners: CNRS, ENS Lyon, U. Paris-Sud, U. Paris-Diderot
Contact: [email protected]
Keywords: certification, formalisation, proofs
Top applications: full formalisation of the group order theorem, C compiler certification
Frama-C is a platform dedicated to source-
code analysis of C software.
Frama-C assists in development and
verification activities as well as in reverse
source-code engineering.
Innovative aspects:
Frama-C proposes a dedicated language for
writing specifications, ACSL. Different Frama-
C plug-ins use complementary techniques to
verify that the source code complies with
specifications written in this language.
Keywords: Software verification, proving software, trusted software.
http://frama-c.com/
Main fields of application: Transport,
energies, healthcare, security
Language, standard, environment: Ocaml language
Partners:
License: GNU LGPL v2
Contact: [email protected]
The Kermeta workbench is a powerful meta-
programming environment based on an object-
oriented DSL (Domain Specific Language)
optimized for metamodel engineering.
.
License: EPL
http://kermeta.org/
Academic Partners:
Innovative aspects: Kermeta allows to define and enrich new programming languages by improving the way to specify, simulate and test operational semantics of metamodels.
Main fields of application: Agile software developent, model engineering Key words : MOF (Meta Object Facility), OMG (Object Management Group), Metamodelisation
Coding and Operating System: Java, Kermeta
Contact: [email protected]
« Portable Hardware Locality »
hwloc discovers your computers’ topology and
exposes it as an abstracted and portable
hierarchical tree.
Technological barrier: Users may now visualize the topology within a graphical interface and consult many architectural and computing characteristics.
Language: C
Keywords: Topology, locality, affinities, HPC, MPI, GPU
License: new BSD licence
Main fields of application: hwloc’s main
goal consists in assisting applications for
retrieving easy-to-use information about
modern compute server architectures so as
to exploit their power in a more convenient
and efficient manner.
http://www.open-mpi.org/projects/hwloc/
Academic partners: Open MPI consortium, Argonne Nationa Lab., etc.
Contact: [email protected]
Innovative aspects: Moose accelerates production of software analyses by providing expandable models and reusable libraries. Several models are offered for static or dynamic analysis of programmes, development logs, procedural code or aspect.
Smalltalk (open-source Pharo) Windows, Linux, Mac
Main fields of application: Retro-engineering, Meta-modelling, Software visualisation
License: BSD licence
http://www.moosetechnology.org
Academic partners:
Moose is an extensive platform for software and data analysis. It offers multiple services ranging from importing and parsing data, to modeling, to measuring, querying, mining, and to building interactive and visual analysis tools.
Contact: [email protected]
Multifrontal Massively Parallel Solver solves sparse linear systems of the form A x = b.
Innovative aspects:
MUMPS is a direct solver, used worldwide in
many fields related to digital simulation, in
academic as well as industrial codes. Its main
characteristics are its numerical stability, large
number of functionalities and high
performance.
Language, standard, environment: Fortran and C languages, available for Unix, Windows or Mac OS, parallel calculators.
http://graal.ens-lyon.fr/MUMPS
Spinning wheel (courtesy of SAMTECH)
Academic partners:
Keywords: sparse matrices, direct solvers, high-performance calculation, finite element modelling
Licence: Open source
Contact: [email protected]
- Visual programming (dataflow)
- Coupling via plugins
- Interactive computation and visualization
- Distributed computing
Innovative aspects: Plateform for the aggregation of software components (plugins) dedicated to multi-disciplinary numerical simulation in HPC environment
Language, environment: C++, libraries Qt, vtk, mpi
Keywords: simulation, plateform, HPC
License: free for academic usage
Coupling of models (aerodynamics, electromagnetics, structural mechanics), coupling of numerical methods (finite-volume, finite-element, discontinuous Galerkin, linear solver, mesh generation, etc)
http://num3sis.inria.fr
Contact: [email protected]
Innovative aspects: Versatility, customisation, scaling up, control of complexity, flexible scheduler.
Language: Perl, Ruby, Ocaml, Bash, SQL. Available for UNIX: Debian, Centos, RedHat.
License: GPL Partners: Used by (among others) Grid’5000, SensLAB, Mesocentre CIMENT, BRGM.
Main fields of application: Use of infrastructures for high-performance computing.
http://oar.imag.fr
A task and resource management tool for computing infrastructures.
Keywords: resource manager, clusters, light
grid, cloud, HPC.
Contact: [email protected]
OCaml
The OCaml language is a functional programming
language that combines safety with expressiveness
through the use of a precise and flexible type system with
automatic type inference. The OCaml system is a
comprehensive implementation of this language, featuring
two compilers (a bytecode compiler, for fast prototyping
and interactive use, and a native-code compiler producing
efficient machine code for x86, ARM, PowerPC and
SPARC), a debugger, a documentation generator, a
compilation manager, a package manager, and many
libraries contributed by the user community.
Innovative aspects: OCaml is one of the three most widely-used functional programming languages, and the only one that seamlessly combines functional, imperative and object-oriented programming within a single type system.
Language, environment: Programmed in OCaml and in C, the OCaml system supports Linux, BSD, MacOS X, and Microsoft Windows.
Keywords: functional programming, static typing, symbolic computation, compilation, static analysis.,
License: OCaml is free software, distributed under QPL and LGPL licences. A specific BSD-like license is offered to members of the Caml Consortium.
Main fields of application: Symbolic computation : compilers, code generators, static analyzers, formal verification tools, automated theorem provers, interactive proof assistants. High-level systems, network and Web programming. OCaml is also used in the financial industry, notably for modeling and pricing complex financial products.
http://caml.inria.fr/ http://ocaml.org/
Contact: [email protected]
ParadisEO
Paradiseo is a software framework for
metaheuristics (optimisation algorithms aimed
at solving difficult optimisation problems). It
facilitates the use, development and
comparison of classic, multi-objective, parallel
or hybrid metaheuristics.
Innovative aspects: ParadisEO offers implementations of numerous classic metaheuristics from literature as well as innovative new metaheuristics. This software can also be used for parallelisation of metaheuristics.
Main fields of application: ParadisEO is used to solve large-scale optimisation problems in a wide variety of fields, such as transport, logistics, telecommunication systems and bioinformatics.
Language, environment: available for Windows, Unix and Mac OS X, Language C++, CMake
Keywords: Metaheuristics, parallelisation.
License: freeware available
http://paradiseo.gforge.inria.fr/
Academic partners:
ParadisEO-PEO
ParadisEO-EO
ParadisEO-MO ParadisEO-MOEO
EO : Population-based metaheuristics
MO : Single solution-based metaheuristics
MOEO : Metaheuristics for multiobjective optimisation
PEO : Hybrid, parallel and distributed metaheuristics
Contact: [email protected]
(PT-)Scotch
Scotch is a graph partitioner. It helps optimise the division of a problem, by means of a graph, into a set of independent sub-problems of equivalent sizes. These sub-problems can also be solved at the same time.
Innovative aspects: Scotch calculates partitions on a sequential machine and PT-Scotch on a parallel machine.
PT-Scotch can handle very large graphs (2 billion vertices or more) on several tens of thousands of processors.
The quality of solutions provided by PT-Scotch does not depend on the number of processors on which it runs.
Language: C
Keywords: high-performance calculation, graph algorithmics, domain decomposition, mesh partitioning, sparse matrix ordering
License: CECILL C
Main fields of application : distributing a scientific problem's computing load across the processors of a parallel machine, placement of VLSI circuits, combinatorial optimisation, etc...
http://www.labri.fr/~pelegrin/scotch/
Partitioning of edges into 8
parts.
Each part is allocated to a
different processor.
Partitioning vertices to reorder
blocks of a sparse matrix.
Contact: [email protected]
Portable Java middleware designed for the distributed and parallel multi-core calculation. It allows the progamming and the execution of parallel applications as well as ressources management (workstations, servers, clusters, grids or cloud)
Language, environment: Java (Linux, MacOS, Windows)
Keywords: distributed computing, grids, cloudcomputing
License :
- Open source (AGPL)
- Proprietary within
Main fields of application: Distributed systems and services
Innovative aspects: Distributed active objects, seamless components migration, large scale communicating software components
proactive.inria.fr ProActive
SAMSON
A software platform for real-time modelling and
simulation of natural or artificial nanosystems.
Language, standard, environment: C++, available for Windows, Unix and Mac OS X
Keywords: Modelling, Simulation, Nanosystems, Structural Biology, Chemistry
http://nano-d.inrialpes.fr/
Innovative aspects:
The specific interest of SAMSON lies in the
integration of simulation methods during the
modelling phase: adaptive and interactive
simulation algorithms immediately provide
information on the consequences of modelling
choices.
Academic partners
Contact: [email protected]
Selalib
Selalib (SemiLagrangian Library) is a collection of modules conceived to aid in the development of plasma physics simulations, particularly in the study of turbulence in fusion plasmas. Selalib offers basic capabilities from general and mathematical utilities and modules to aid in parallelization, up to pre-packaged simulations.
Mettre une image
représentative
des fonctions du logiciel
Innovative aspects: unavailability of basic software building blocks for simulations using the semilagrangian method. Need to include software engineering practices in an academic research environment.
Language, environment: Fortran 2003
Keywords: plasma physics, semilagrangian method, parallel computing, plasma turbulence
License: open source (Cecill-B), not released yet.
Main fields of application: high-level modules in the library are specialized for plasma physics. Low-levels are usable in parallel computing applications.
http://selalib.gforge.inria.fr/
Academic partners: University of Strasbourg, Max Planck Insitute - Garching.
Contact: [email protected]
Keywords Large-Scale Distributed Systems; Reproducible Experiments; Simulation, Emulation.
License: GNU LGPL
http://simgrid.gforge.inria.fr/
Academic Partners:
Contact: [email protected]
Idea or
MPI code
Experimental
Setup
+ ⇝
Scientific Results
Models
SimGrid
SimGrid is Versatile It provides models of Network, CPU and Disks adapted to (Data)Grids, P2P, Clouds, Clusters and HPC, allowing multi-domain studies.
SimGrid is Easy-to-use Users can quickly setup a controlled simulation environment to develop and test new ideas with minimal technical effort.
SimGrid is Scalable The simulation engine uses algorithmic and implementation techniques toward the fast simulation of large systems on a single machine.
SimGrid is Trustworthy The models are theoretically grounded and experimentally validated. The results are reproducible, enabling better scientific practices.
Scientific Instrument for the study of Large-Scale Distributed Systems
SimGrid is Open Due to its community-development philosophy, it has been adopted by many researchers around the globe. Several associated tools are contributed by its large user community.
SimGrid is Usable Ported to all major platforms and programming languages, it comes with an extensive tooling.
Snooze : a Self-Organizing and Energy Aware Cloud Management Framework.
Innovative aspects: - Energy conservation in clouds - Generic scheduling engine supporting VM placement, relocation and reconfiguration algorithms - Fault-tolerance - Self-organizing self-healing hierarchical architecture.
Language, environment: Java
Keywords: Cloud computing, energy
management, consolidation, fault-tolerance,
self-organization, self-healing, virtualization
License: GPL v2
Main fields of application: - Private cloud providers - Testbed for evaluation of VM scheduling algorithms in a real environment
http://snooze.gforge.inria.fr/
Contact: [email protected]
StarPu
A runtime system for heterogeneous
parallel machines
Goals:
• Dynamically schedule tasks on all
processing units - CPU + GPU, Xeon Phi
• Minimize data transfers between
accelerators
Language: C (C++, Fortran)
Keywords: GPU, multicore, scheduling, performance
License: LGPL
http://runtime.bordeaux.inria.fr/StarPU/
Parallel Compilers
Applications
StarPU
Drivers (CUDA, OpenCL)
CPU
Parallel Libraries
GPU Xeon Phi
Target for
• Compilers: StarSs [UPC], HMPP
[CAPS entreprise]
• Parallel Libraries: MAGMA [UTK, USA]
Main fields of application:
• Energy, Weather Forecast,
Aeronautics, Multimedia
Academic partners:
SUP Scene Understanding Platform
SUP is a software platform for perceiving, analyzing and interpreting a 3D dynamic scene observed through a network of sensors. It encompasses algorithms allowing for the modeling of interesting activities for users to enable their recognition in real-world applications requiring high-throughput.
Innovative aspects: Detection of human (and vehicle or other) activities through video analysis and other sensors in big databases.
Language, environment: C++, cmake, multi-platform
Keywords: activity recognition
License: undetermined
Main fields of application: Health-care, security, protection of people and goods
https://team.inria.fr/stars/software
Academic partners: CHU Nice, CEA, USC California, Tainan (Taiwan), Hamburg University, I2R Singapore
Contact: [email protected]