Scilab Le logiciel libre pour le calcul numérique 4 février 2010 Claude Gomez Consortium Scilab Directeur
Plan Le logiciel libre Le logiciel Scilab Les forces de Scilab L organisation Scilab Le futur
Le logiciel libre
Le calcul numérique Enjeux scientifiques majeurs Éducation Recherche Industrie Secteurs stratégiques de l industrie et des services
Des besoins pour une solution libre Pourquoi? Très important pour l éducation, la recherche et les PME Open Source pour des domaines stratégiques Quoi? Logiciel à large spectre vs logiciel dédié
Combien êtes vous prêts à payer? Quelques exemples Calcul numérique Octave, Scilab Statistiques R Calcul formel Maxima, Sage
Un logiciel de calcul numérique type IEEE-754 Graphics GUI API Parser Interpreter Computation libraries Fortran, C, C++ User Documentation
Le travail à réaliser Bibliothèques de calcul de base Un grand nombre domaine public : BLAS, LAPACK, Noyau : interpréteur, langage, API Programmation Graphiques, IHM Bibliothèques : OpenGL, JAVA Swing, GTK, QT Documentation Beaucoup de travail!
La solution libre Besoin d un logiciel libre dans le domaine stratégique du calcul numérique
Une bonne façon de procéder Assurer le futur Avoir une structure légale Financement Projets, services Développement Maintenance Promotion Avoir une équipe permanente
Le logiciel Scilab
Histoire 1980 : premier MATLAB 1980 1990 : logiciel BASILE à l INRIA / Simulog Scilab : de la recherche au transfert 1990 2003 : Scilab Open Source (Recherche) 1994 : Scilab distribué librement sur le Net 2003 2007 : Consortium Scilab phase 1 (INRIA) 2008 2012 : Consortium Scilab phase 2 (DIGITEO) Scilab libre (compatible GPL) 2013 : Transfert
Le logiciel Scilab : qu est-ce que c est? Fonctions mathématiques Calcul matriciel, matrices creuses Polynômes et fractions rationnelles Simulation : systèmes d équations différentielles Commande classique et robuste, optimisation LMI Optimisation différentiable et non différentiable Librairies de calcul : plus de 1700 fonctions Interpolation, approximation Traitement du signal Statistiques Graphes et réseaux Xcos : simulateur bloc diagramme pour les systèmes dynamiques Utilisateur Graphique 2D/3D Animation Langage Interpréteur Éditeur Aide en ligne
Scilab internals Computation libraries Module Graphics GUI GUI builder JAVA API Parser Interpreter 650 functions 1090 functions Fortran and C code (800,000 lines) Module Scilab code (150,000 lines) Documentation XML Module User
Dernière version Scilab 5.2 (Décembre 2009) Xcos 1.0 Éditeur intégré Gestion de modules : ATOMS Windows 2000/XP/Vista/7, GNU/Linux et Mac OS X
Xcos (basé sur Scicos) Un simulateur bloc diagramme pour les systèmes hybrides Compilateur Modelica Génération de code C Xcos est inclus dans Scilab
Structure de Scilab External Modules (EM) EM Partner External Modules (PEM) EM PEM PEM Distribution Scilab Scilab Essential
Contribuer au développement de Scilab Deux programmes : Devenez contributeur Scilab avec le «Scilab Contributors Program» Devenez un fournisseur officiel de module avec le «Scilab Partners External Modules Program»
Scilab n est pas un clone de Matlab Langages très proches : même philosophie et vectoriel Syntaxe de base Opérations matricielles de base Fonctions graphiques de base : (plot, bar, mesh, pie, surf) Mais des différences : Syntaxe et sémantique de fonctions Gestion des fichiers de fonctions Manipulation des objets complexes (cell, struct) Portée des variables Matrices creuses
Passer de Matlab à Scilab Un traducteur de code Matlab Objectif : générer un code Scilab fournissant les mêmes résultats État Actuel : La totalité de la syntaxe est prise en compte Tous les opérateurs sont traduits Un grand nombres de fonctions du noyau Matlab gérées (plus de 320) Prise en compte d un ensemble de fichiers avec références croisées Il manque des fonctions graphiques et d IHM Un dictionnaire Matlab/Scilab est disponible sur le site web de Scilab
Les forces de Scilab
Scilab dans le monde Plus de 70 000 téléchargements par mois 22
Pays Rang % France 1 14,77% USA 2 8,84% Japan 3 8,55% India 4 8,49% Germany 5 8,44% China 6 6,27% Brazil 7 6,20% Poland 8 4,55% Téléchargements à partir de www.scilab.org Italy 9 3,66% Russia 10 2,30% Spain 11 1,95% UK 12 1,92% Indonesia 13 1,90% Mexico 14 1,21% Canada 15 0,93% Belgium 16 0,90% Switzerland 17 0,84% Australia 18 0,61% S. Corea 19 0,58% Netherlands 20 0,47% Turkey 21 0,43% Others 27,93%
Collaborations internationales Amérique du nord Collaboration avec National Instruments : interface LabView/Scilab Dans le NMC 1 pour la définition d un standard de calcul numérique Canada (Alberta) : Cybera Chine Représenté par le LIAMA 2 depuis 2001 De nombreuses conférences Depuis 2002 : concours Scilab annuel 2005 : Scilab utilisé au lycée Groupe d utilisateurs et site Web Japon Collaboration avec NII 3 Depuis 2006: concours Scilab annuel Groupe d utilisateurs et site Web Inde Collaboration avec IIT 4 Bombay Groupe d utilisateurs et site Web Programme officiel Scilab 1 NMC: Numerical Mathematics Consortium 2 LIAMA: Sino-French Laboratory in Computer Science, Automation and Applied Mathematics 3 NII: National Institute of Informatics Tokyo 4 IIT: Indian Institute of Technology
Initiatives Programmes français ANR Pôles de compétitivité comme System@tic Ter@tec Utilisation des Eurocodes poussée par le ministère Scilab au lycée : un module spécial adapté Programme cadre européen EUREKA / ITEA2
L organisation Scilab
Une organisation solide Soutenu par l'inria Institut National de Recherche en Informatique et en Automatique Intégré à DIGITEO Premier Parc de recherche d'envergure mondiale dans le domaine des sciences et technologies de l'information en Île-de-France 27
Le Consortium Académiques Organismes publics Industriels 28
Financement L INRIA Les membres du consortium Scilab Le gouvernement français et les projets européens + Service aux industriels en 2010 25 20 15 10 5 0 2003 2004 2005 2006 2007 2008 2009 Personnes permanentes dans l équipe R & D
Une grande communauté Contributeurs développeurs Testeurs
Le futur
Une vision partagée Être le logiciel libre de calcul numérique de référence r rence dans le monde Un rôle fédérateur dans le monde du calcul scientifique : Intégration de résultats Liens avec d autres logiciels libres ou non
Un plan de développement ambitieux Couverture des domaines stratégiques Du HPC au multicore (Scilab 6.0 : nouveau noyau en 2010) Génération de code pour les systèmes embarqués
Plan de développement de Scilab
www.scilab.org