samedi 12 janvier 2008

SCILAB : un logiciel libre de calcul scientifique


-----------------------

logo scilab
  1. Le contexte des logiciels de calcul scientifique
    1.1. Historique
    1.2. Situation actuelle
  2. Le logiciel scilab
    2.1. Historique
    2.2. Situation actuelle
    2.3. Que fait scilab ?
  3. Le consortium scilab
1 . Le contexte des logiciels de calcul scientifique

1.1 Historique

Les logiciels de calcul scientifique visent à donner aux ingénieurs un ensemble d'outils de calcul numérique pour mettre au point des programmes de simulation, de commande et d'études dans des domaines très variés.
L'introduction de ces outils, vers 1980, a totalement révolutionné la façon de faire de la recherche et du développement dans ces domaines, à tel point que les chercheurs et les laboratoires d'ingénierie industrielle utilisent quotidiennement ces outils.
Cela a démarré aux États-Unis par le développement dans des laboratoires publics de grandes bibliothèques d'algèbre linéaire et du système Matlab (rappelons que le "Mat" de Matlab signifie "matrix ") qui fournissait en plus un langage interprété pour les opérations de base de l'algèbre linéaire, addition, produit de matrices etc., avec une syntaxe agréable et adaptée.
Étant donné l'importance de l'"electrical engineering" et en particulier de l'"automatic control " aux États-Unis, c'est le secteur de l'automatique qui a été le domaine de prédilection pour l'application de ces logiciels. Ceci a été le début (entre autres) de la société The Mathworks créée par un des développeurs de Matlab et qui a d'ailleurs conservé le nom du produit.
The Mathworks est devenu de loin le leader dans le domaine et Matlab la référence. Le produit s'est largement étoffé et The Mathworks ne présente plus l'automatique comme sa spécificité unique.
Le développement d'un outil similaire s'est fait à l'INRIA à la même époque, sur la même base que le Matlab initial et avec les mêmes librairies. Il y a eu une période où le produit INRIA, baptisé Basile et vendu par la société Simulog, avait les mêmes vertus que Matlab ; mais il n'y avait pas de version pour PC et sa documentation n'existant qu'en français, il n'était distribué qu'en France.
Vers 1984, d'autres logiciels analogues à Matlab existaient, comme MATRIXx, CONTROLc ou PC-Matlab.

1.2. Situation actuelle

Aujourd'hui ne subsiste sur le marché quasiment que le produit Matlab. On estime actuellement que les utilisateurs de Matlab sont plus de 100 000 dans le monde et plus de 2 000 en France, ce qui représente un coût de quelques millions d'euros par an à la France (achats directs auxquels il faudrait ajouter les coûts de certains produits qui utilisent Matlab). Les utilisateurs vont des élèves ingénieurs aux chercheurs des laboratoires en passant par les enseignants et les étudiants en analyse numérique, de très nombreux ingénieurs travaillant dans des secteurs industriels variés comme l'automobile, l'avionique, l'espace, la chimie, la finance, etc.
La position dominante de Matlab est renforcée par le développement de boîtes à outils faites par des développeurs extérieurs à The Mathworks. Pour utiliser ces boîtes à outils, il faut acheter Matlab.

2. Le logiciel scilab

2.1. Historique

Scilab est né le 2 janvier 1994 (date du lancement de la distribution libre en ftp anonyme sur le site de l'INRIA). Le groupe de développeurs de Scilab1 y travaillait depuis 1990 environ à la suite de l'abandon prévisible de la distribution du logiciel Basile et parce qu'il fallait :
  • disposer d'une plate-forme évolutive et ouverte pour des études en automatique et des développements dans le cadre des activités scientifiques de l'équipe des concepteurs et plus généralement de la communauté Basile ;
  • faciliter le transfert et la coopération à partir d'un logiciel de qualité accessible au plus grand nombre ;
  • enfin, valoriser l'investissement réalisé et le savoir-faire développé pour Basile et conserver la place acquise dans le domaine stratégique du calcul scientifique.

Il a été choisi de distribuer gratuitement Scilab avec les sources. En effet, ceci est le meilleur moyen d'atteindre rapidement les objectifs affichés qui passaient par la création d'une communauté de contributeurs et d'utilisateurs dans la sphère académique mais aussi dans la sphère industrielle. Une rapide étude récente d'impact réalisée sur l'ensemble du Web pour les logiciels diffusés par l'INRIA a montré que Scilab était le logiciel le plus cité (plus de 750 pages différentes le citant) démontrant ainsi le succès de cette démarche.

Le logiciel Scilab, développé par l'INRIA et l'ENPC, correspond à un investissement total de plus d'une centaine d'hommes années (noyau + librairies + boîtes à outils).

2.2. Situation actuelle

Depuis 1994, l'utilisation et la connaissance de Scilab n'ont fait que grandir. À partir du site Web de l'INRIA, il y a aujourd'hui plus de 10 000 retraits mensuels de Scilab, qui proviennent du monde entier. Cela ne tient pas compte des autres sites à partir desquels il est possible de télécharger Scilab, ni des nombreux cédéroms sur lesquels on le trouve.
Deux livres ont été écrits par les développeurs de Scilab, l'un en anglais et l'autre en français. D'autres livres écrits par des français sont sortis. Il existe aussi un livre en chinois. Des articles sur Scilab ont été écrits dans divers journaux, américains et français.
Scilab a son propre site Web et son propre forum de discussions ("newsgroup") international "comp.soft-sys.math.scilab"dans lequel les utilisateurs échangent régulièrement des messages.
Des cours Scilab ont été réalisés en France, en Inde, en Chine et au Sénégal. En 2002, un workshop et un concours sur l'utilisation de Scilab ont été organisés en Chine et un autre concours a lieu en 2003.
Le nombre de contributions a vu une très forte croissance depuis 2001 avec le dépôt de plus d'une soixantaine de nouvelles contributions.
Des contrats autour de Scilab ont été passés entre l'INRIA et des industriels : EDF, Renault, RNTL Simpa. Les contrats avec EDF (LNHE) ont permis de développer une boîte à outils pour la simulation et le contrôle des vallées fluviales, qui est exploitée par EDF (METALIDO). Scilab a aussi participé à un contrat européen NICONET et inclut une partie de la bibliothèque d'algorithmes pour l'automatique qui en est issue. D'autres projets RNTL sont en cours de réalisation.
Il y a une collaboration avec la société Sciface qui distribue et commercialise le système de calcul formel MuPAD : certaines versions de MuPAD contiennent Scilab pour réaliser le calcul numérique.

En France, Scilab fait partie des logiciels utilisés pour l'oral de l'agrégation de mathématiques, il est enseigné et utilisé dans la plupart des universités et dans de nombreuses grandes écoles comme Polytechnique, Centrale Paris, ENSTA, ENPC etc.
Un cédérom, financé par le ministère de la Recherche, a été réalisé par l'INRIA en 2002 et est diffusé par le CNDP. Il contient Scilab, MuPAD Light et CAML. Un de ses buts est l'utilisation de Scilab dès les classes des lycées : secondaire, BTS, classes préparatoires aux grandes écoles. Ainsi l'adoption future dans tous les niveaux de l'enseignement sera plus facile. De plus, les ingénieurs qui arriveront dans l'industrie connaîtront Scilab. Ce cédérom a été réalisé en accord avec le comité des programmes de mathématiques du secondaire et les inspections générales de mathématiques et de physique. En favorisant l'utilisation de Scilab dans les lycées, nous espérons aussi susciter des réalisations pédagogiques des professeurs des disciplines scientifiques.

2.3. Que fait scilab ?

Scilab est un logiciel scientifique de calcul numérique. Sa base est le calcul matriciel. Il est similaire à Matlab, aussi bien du point de vue conception, un interpréteur et un langage, que du point de vue syntaxe. La version actuelle de Scilab est la 2.7. Scilab fonctionne sur la plupart des stations de travail UNIX, y compris Linux, ainsi que sous Windows 9X/NT/2000/XP. Il est fourni avec le code source, une aide en ligne et des manuels d'utilisation en anglais. Des versions binaires pour les différents systèmes sont également disponibles.
Scilab contient des centaines de fonctions mathématiques avec la possibilité de rajouter interactivement des programmes écrits dans divers langages (C, FORTRAN...) au système. Il possède des structures de données sophistiquées (incluant les listes, les polynômes, les fractions rationnelles, les systèmes linéaires...), un interpréteur et un langage de programmation de haut niveau.
Scilab a été conçu pour être un système ouvert dans lequel l'utilisateur peut définir de nouveaux types de données et des opérations sur ces types de données en utilisant la surcharge d'opérateurs.
Un grand nombre de boîtes à outils sont fournies avec le système :

  • graphique 2-D et 3-D, animation ;
  • algèbre linéaire, matrices creuses ;
  • polynômes et fractions rationnelles ;
  • simulation : solveurs d'EDO (ODEPACK) et de DAE (DASSL) ;
  • Scicos : simulateur bloc-diagramme de systèmes dynamiques hybrides, similaire à Simulink ;
  • commande classique, robuste, optimisation LMI ;
  • optimisation différentiable et non-différentiable ;
  • traitement du signal ;
  • Metanet : graphes et réseaux ;
  • Scilab parallèle : utilisant PVM ;
  • statistiques ;
  • interface avec les systèmes de calcul formel Maple et MuPAD ;
  • interface TCL/TK ;
  • et un grand nombre de contributions dans tous les domaines.
3. Le consortium scilab

Pour faire face au succès de Scilab, l'INRIA a souhaité amplifier son propre engagement dans Scilab et associer des partenaires industriels et académiques du monde entier au sein d'un consortium : le consortium Scilab.
Le but de ce consortium, hébergé par l'INRIA, répond aux objectifs suivants :

  • rassembler la communauté des développeurs, afin de faire de Scilab une plate-forme d'intégration des dernières avancées scientifiques en calcul scientifique et en automatique ;
  • rassembler la communauté des utilisateurs, afin de faire de Scilab un produit répondant aux exigences de qualité pour une utilisation opérationnelle en milieu industriel mais aussi pour l'enseignement et la recherche ;
  • avoir les moyens de pérenniser une équipe dédiée pour le développement de base de Scilab, pour assurer l'édition de versions du logiciel selon les règles professionnelles du domaine avec assurance qualité, assurer le support de premier niveau pour les utilisateurs, animer la communauté des développeurs et réaliser l'animation scientifique, la valorisation et la promotion de Scilab.

Les entreprises et les académiques peuvent adhérer au Consortium en tant que membres la cotisation étant fonction de leur taille. Des contributeurs, acceptés par le consortium, peuvent aussi adhérer gratuitement. Le consortium comprend un comité de pilotage et un conseil scientifique, composés de membres élus parmi ses adhérents, qui définissent les orientations et les nouveaux développements de Scilab. Il comprend aussi une équipe opérationnelle qui a été créée début 2003 sous la forme du projet de développement SCILAB de l'INRIA-Rocquencourt. L'INRIA s'engage à financer 5 personnes de cette équipe chaque année. Cette équipe aura à terme 14 personnes dont le directeur technique, le responsable qualité, le responsable de la valorisation et du marketing, l'animateur du réseau des contributeurs, le chef de produit, le responsable du développement et son équipe de développeurs.
Le consortium Scilab a été lancé en mai 2003, ses membres sont actuellement au nombre de 12 : Axs Ingenierie, CEA, CNES, Cril Technology, Dassault-Aviation, EDF, ENPC, Esterel Technologies, INRIA, PSA Peugeot Citroën, Renault, Thales. Il est actuellement présidé par le professeur Alain Bensoussan, ancien président de l'INRIA, du CNES et du conseil de l'Agence Spatiale Européenne; son directeur technique est Claude Gomez, directeur de recherche de l'INRIA Rocquencourt.

___________________________
1- 5 chercheurs de l'INRIA Rocquencourt : François Delebecque, Claude Gomez, Maurice Goursat, Ramine Nikoukhah et Serge Steer, et un chercheur du laboratoire CERMICS de l'ENPC, Jean-Philippe Chancelier.

Aucun commentaire: