Vous êtes sur la page 1sur 5

INNOVATION

Scilab, un logiciel libre


de calcul scientifique
par Claude GOMEZ

Scilab est un logiciel libre et open source de calcul numérique comparable au


logiciel Matlab. Développé à l’origine par des chercheurs, il est depuis
mai 2003 pris en charge par le consortium Scilab composé d’industriels et
d’universitaires.

cours des années, ils ont pratiquement tous disparu


Claude GOMEZ est directeur de recherche à pour laisser la place au logiciel d’origine Matlab distri-
l’Institut national de recherche en informatique et bué aujourd’hui par la société américaine The
en automatique (INRIA). Il est également direc- Mathworks. Ce logiciel est devenu le standard et il
teur technique du consortium Scilab. est aujourd’hui utilisé dans toutes les universités, les Sur les logiciels
écoles et les entreprises du monde qui ont besoin de libres :
claude.gomez@inria.fr
faire du calcul scientifique numérique. C’est un logi- Logiciels libres
ciel propriétaire. [H 3 218] de P. Aigrain

1. Calcul scientifique Dans les années 1980 aussi, inspiré et basé sur les
mêmes principes que le logiciel Matlab d’origine, un
1.1 Logiciels de calcul autre logiciel appelé successivement Blaise, puis
Basile avait vu le jour à l’INRIA. Ce logiciel fut
Le terme de calcul scientifique est assez général et renommé Scilab en 1990, puis mis à disposition gra-
recouvre des techniques de calcul différentes. On tuitement avec les sources sur le réseau Internet en Sur le calcul formel :
peut les classer en calcul formel et calcul numérique. 1994. Il a été développé par des chercheurs de Calcul formel [A 144] de
Le calcul formel [A 144] est le calcul mathématique l’INRIA et de l’École nationale des ponts et chaussées C. Gomez
exact et le calcul numérique est celui que l’on fait (ENPC) jusqu’en 2003. L’INRIA a alors décidé de Calcul formel avec
de façon approchée avec des nombres flottants dans Maple [H 3 028] de
créer le consortium Scilab. C’est cette alternative ou X. Jeanneau
un ordinateur. On a recours à ce dernier lorsque les ce complément au logiciel Matlab que nous présen- Systèmes de calcul for-
techniques formelles sont trop coûteuses ou incapa- tons ici. mel [H 3 308] de
bles de résoudre le problème. C’est le calcul numé- D. Pinchon
rique que réalise le logiciel Scilab.
L’expression de calcul scientifique recouvre aussi 2. Logiciel Scilab
des domaines variés. Nous ne nous intéressons pas Scilab est donc un logiciel de calcul numérique à
aux domaines de calcul spécialisés comme par exem- large spectre. Sa dernière version 3.0 (juillet 2004)
ple les statistiques, la mécanique ou les éléments est disponible pour les machines Windows 9X/NT/
finis pour lesquels existent des logiciels dédiés. Sci- Scilab
2000/XP ainsi que pour GNU/Linux et les stations de http://www.scilab.org
lab est un logiciel de calcul numérique à large travail Unix. Il est possible d’en télécharger des ver-
spectre. sions binaires. Scilab dispose aujourd’hui d’une
licence qui permet de s’en servir sans aucune
1.2 Calcul numérique contrainte tant que Scilab ou une de ses parties n’est Sur Unix et Linux :
pas inclus dans un autre logiciel commercialisé ; Système d’exploitation
C’est en général un logiciel de calcul numérique
dans ce dernier cas, l’autorisation de l’INRIA est obli- Unix [H 1 528] de
que l’ingénieur utilise lorsqu’il a besoin d’effectuer P. Soulema
gatoire. Cette autorisation est automatiquement
des calculs. En effet, à cause de la complexité des Système Linux
accordée aux membres du consortium (§ 3.1).
études à réaliser, le calcul numérique est nécessaire. [H 1 538] de
Et c’est le même outil qui lui permet de tracer des C. Cocquebert
courbes et des graphiques. Quels logiciels peut-il uti- 2.1 Un super calculateur numérique
liser aujourd’hui ? Une des raisons qui ont fait le succès d’un logiciel
Dans les années 1980, une révolution a eu lieu comme Matlab est la syntaxe d’utilisation qui per-
dans le domaine du calcul numérique avec la met de réaliser très facilement des calculs matriciels,
réalisation d’un logiciel qui permettait les calculs à la base des calculs numériques scientifiques. Le
matriciels interactivement de façon très simple. Il langage de programmation est lui aussi très facile à
s’appelait Matlab et était écrit en fortran. Un certain utiliser. Scilab, bâti sur le logiciel Matlab d’origine, a
nombre d’autres logiciels ont ensuite vu le jour. Au une syntaxe de base identique à celle de Matlab,

2 - 2005 © Techniques de l’Ingénieur IN 31 - 1

Dossier délivré pour


DOCUMENTATION
18/09/2008
INNOVATION

--> M = [1 2 3 ; 4 5 6 ; 7 8 9]
M=
! 1. 2. 3. ! Définition d’une matrice 3 x 3
! 4. 5. 6. !
! 7. 8. 9. !

--> A = M’^2+eye()
A=
! 31. 66. 102. ! Élévation de la matrice transposée au carré et ajout de l’identité
! 36. 82. 126. !
! 42. 96. 151. !

--> b= [1 ;1 ;1] ; Définition d’un vecteur

--> x = A\b
x=
! 0.1092150 ! Résolution du système Ax = b
! 0.0324232 !
! – 0.0443686 !

--> function m = mat (n)


Définition d’une fonction qui retourne une matrice dont
--> m = matrix (1 : n * n, n, n)’ ;
les éléments prennent les valeurs consécutives de 1 à n2
--> endfunction

--> det (mat (500))


Vérification que le déterminant d’une telle matrice
ans =
de dimension 500 × 500 est nul
0.

Figure 1 – Calcul matriciel de base

mais n’en est cependant pas un clone. En effet, au — Scicos : simulateur bloc-diagramme de systè-
cours du temps, les deux logiciels se sont éloignés et mes dynamiques hybrides (§ 2.2) ;
des noms de fonctions, des structures de données — commande classique, robuste, optimisation
sont différentes. Aujourd’hui, avec la sortie de la basée sur les techniques LMI ;
version 3.0, un traducteur du langage Matlab en lan- — optimisation différentiable et non
gage Scilab existe. La session typique de calcul différentiable ;
matriciel avec Scilab de la figure 1 montre cette faci-
lité d’utilisation. — traitement du signal ;
— Metanet : calcul sur les graphes et les réseaux ;
L’utilisation du graphique est aussi primordiale
pour l’interprétation et la diffusion des résultats d’un — Scilab parallèle utilisant le langage PVM ;
calcul. Scilab permet de tracer des courbes et des — statistiques ;
LMI : linear matrix ine- surfaces et de réaliser de l’animation. De plus, avec
quality — interfaces avec le calcul formel : pour le logiciel
la sortie de la version 3.0, le graphique est composé Maple, un package est fourni pour générer du code
PVM : parallel virtual
machine d’objets auxquels on peut accéder directement par Scilab et la version 3.0 du logiciel MuPAD contient
Tcl/Tk : Tool Com- programme ou à l’aide d’un éditeur graphique pour Scilab ;
mand Language/ToolKit modifier ses propriétés. Par exemple, pour réaliser — interface avec Tcl/Tk.
un graphique comme celui de la figure 2a, il suffit
d’utiliser les commandes graphiques, mais on peut Il est aussi possible de télécharger à partir du site
aussi plus confortablement utiliser l’éditeur de pro- Web de Scilab un grand nombre de contributions
priétés graphiques dont une vue est donnée sur la dans des domaines variés, comme par exemple des
figure 2b. boîtes à outils sur le traitement d’images ou sur les
Scicos éléments finis.
http://www.scicos.org Le logiciel Scilab comprend un grand nombre de
boîtes à outils qui en font plus qu’un simple noyau
Sur les systèmes de calcul matriciel : 2.2 Simulation des systèmes
dynamiques dynamiques hybrides avec Scicos
hybrides : — graphique 2D et 3D, animation ;
Systèmes dynamiques Scilab permet de réaliser la simulation des systè-
— algèbre linéaire, matrices creuses ;
hybrides. Modélisation mes dynamiques à l’aide de solveurs puissants pour
et simulation [S 7 105] — polynômes et fractions rationnelles ; la résolution des systèmes d’équations différen-
de M. Bertrand, C. Iung
et J. Zaytoon — simulation : résolution de systèmes d’équations tielles. Mais de même que Matlab possède la boîte à
différentielles explicites et implicites ; outils Simulink, Scilab possède en standard la boîte

IN 31 - 2 © Techniques de l’Ingénieur 2 - 2005

Dossier délivré pour


DOCUMENTATION
18/09/2008
INNOVATION

a graphique b éditeur de propriétés graphiques


RNTL : Réseau national
Figure 2 – Réalisation graphique des technologies logi-
cielles
SIMPA : Simulation
pour le procédé et
à outils Scicos qui fournit un éditeur graphique de exemple, le schéma de la figure 4 comporte des l’automatique
type bloc-diagramme permettant de représenter gra- blocs non causaux (résistance, capacité et self), des http://www.tele-
phiquement la plupart des systèmes dynamiques blocs mixtes (ampèremètre et voltmètre) et un bloc com.gouv.fr/rntl
hybrides (comprenant des composants en temps causal (la visualisation et son horloge).
continu, en temps discret et des événements de Avec ces caractéristiques, la boîte à outils Scicos,
conditionnement). Il est possible d’assembler le alliée à la puissance de Scilab et de son langage, est
modèle d’un système en copiant depuis l’éditeur des un outil efficace et facile à utiliser pour la modélisa-
blocs issus de palettes de blocs prédéterminés, et en tion et la simulation des systèmes physiques et dyna-
tissant des connexions entre les ports de ces blocs. miques que les ingénieurs doivent très souvent
Les connexions entre les ports d’entrée/sortie réaliser.
modélisent la communication de données bloc à bloc.
Les connexions entre les ports d’activation modéli-
sent la communication d’information de contrôle 3. Modèle de développement
entre les blocs. Nous avons vu que Scilab, développé par des cher-
Par exemple, le schéma de la figure 3 représente : cheurs, avait été mis librement sur le réseau Internet
avec les sources en 1994. Dans les années qui ont
— un système dynamique continu (bloc Procédé) ;
suivi, le succès de Scilab est allé grandissant, surtout
— sa trajectoire nominale (bloc Générateur de dans le milieu académique. À partir du site Web de
sinusoïde) ; Scilab, dès l’année 2000, environ 10 000 retraits
— son système de contrôle discret formé des blocs mensuels du logiciel étaient constatés et cela atteint
Échantillonneur et Correcteur, de l’horloge de caden- fin 2004 plus de 15 000. Des milliers de sites Web
cement du contrôleur ; référençaient déjà Scilab, des livres, des cours et des
— et enfin des blocs de dessin des signaux (hor- boîtes à outils étaient réalisés. Pour assurer ce suc-
loge de cadencement de l’affichage, bloc Oscillos- cès, il était nécessaire d’amener aussi les industriels
cope). à utiliser Scilab.
Les trois horloges génèrent ici trois cadencements
asynchrones, mais en revanche, les blocs Correcteur 3.1 Consortium Scilab
et Échantillonneur sont activés de façon synchrone. Pour cela, il fallait une structure qui permette :
Mais ce formalisme permet de décrire les systèmes — de garantir la pérennité de Scilab ;
dynamiques composés de sous-systèmes connectés — d’assurer la maintenance et le support ;
les uns aux autres de façon causale, représentation
qui n’est souvent pas bien adaptée aux systèmes — d’animer et de fédérer la communauté des
physiques. En effet, il est généralement difficile contributeurs.
d’expliciter les équations pour les rendre causales Pour garantir cette pérennité, l’INRIA a décidé en
(spécifier quelles sont les variables d’entrée et de 2003 de réunir des industriels et des
sortie) et il est souvent impossible de représenter un « académiques » autour de Scilab dans le cadre d’un
sous-système physique par un seul bloc. Pour éviter consortium et de créer une équipe pour assurer la
ces difficultés, Scicos a été étendu dans le cadre du maintenance et le support de Scilab. Pour cela, il
contrat RNTL SIMPA aux systèmes non causaux. Les était nécessaire d’avoir des moyens financiers. C’est
connexions entre deux blocs non causaux représen- ainsi que les entreprises et les « académiques » peu-
tent alors des équations sur les grandeurs des ports vent adhérer au consortium en payant une cotisation
connectés et non plus un transfert de valeur. Par annuelle :

2 - 2005 © Techniques de l’Ingénieur IN 31 - 3

Dossier délivré pour


DOCUMENTATION
18/09/2008
INNOVATION

Figure 3 – Schéma Scicos

Figure 4 – Schéma électrique non causal

— 2 000 € par an pour les établissements de vent avoir réalisé une contribution à Scilab qui soit
moins de 50 personnes et pour les universités et les jugée importante et acceptée par le consortium.
écoles ;
— 8 000 € par an pour les établissements de plus Tous ces membres ont des représentants aux ins-
de 50 personnes et de moins de 500 personnes ; tances du consortium, comité de pilotage, conseil
scientifique et groupes de travail.
— 25 000 € par an pour les établissements de plus
de 500 personnes. En 2004, le consortium comprend quatorze
En plus des membres qui paient une cotisation, des membres : Appedge, AXS Ingénierie, CEA, Cnes,
personnes physiques, appelées contributeurs, peu- CRIL Technology, Dassault-Aviation, EDF, ENPC,
vent adhérer gratuitement au consortium. Elles doi- Esterel Technologies, INRIA, PSA Peugeot-Citroën,

IN 31 - 4 © Techniques de l’Ingénieur 2 - 2005

Dossier délivré pour


DOCUMENTATION
18/09/2008
INNOVATION

Renault, Thales et TNI. Il comprend aussi cinq contri- tés avec la sortie prévue de la prochaine version
buteurs. majeure 4.0 début 2006 qui pourra inclure :
Il faut noter que l’INRIA s’engage fortement dans — une documentation de qualité professionnelle ;
cette opération car il fournit la structure juridique du — un traducteur de Scilab vers Matlab ;
consortium, l’héberge, en réalise le support techni-
que et administratif. Enfin cinq membres de son per- — une boîte à outils Scicos au même niveau que
sonnel participent à l’équipe opérationnelle. Simulink ;
— une interface homme-machine améliorée ;
Il convient de souligner que c’est le consortium qui
est aujourd’hui l’architecte de Scilab, permettant — un SDK afin de faciliter l’utilisation de Scilab SDK : software develo-
ainsi aux membres d’orienter le développement dans comme moteur dans des applications spécialisées ; pment kit
le sens qu’ils souhaitent. Autre avantage, ils n’ont — des algorithmes nouveaux et performants.
pas la restriction sur la licence (§ 2) et ils ont un
accès privilégié à l’équipe opérationnelle (aide, sup- Pour atteindre ces objectifs, le consortium doit
port). Enfin, ils font partie d’une structure où ils peu- croître et avoir des membres internationaux. Ainsi,
vent échanger leur expérience dans le domaine du l’équipe opérationnelle disposera des moyens pour
calcul et de la CAO. atteindre les buts fixés.

3.2 Équipe opérationnelle


Le consortium dispose d’une équipe opérationnelle Bibliographie
qui existe depuis le début de l’année 2003 sous la
forme d’un projet de développement de l’INRIA Roc-
quencourt. Elle comprend aujourd’hui sept person- Ouvrages
nes et doit atteindre à terme un effectif de quatorze
GOMEZ (C.) (éd.). – Engineering and Scientific Computing
personnes. Elle a pour missions d’assurer :
with Scilab. Birkhäuser (1999).
— le développement de base de Scilab, c’est-à-dire CHANCELIER (J.-P.), DELEBECQUE (J.-P.), GOMEZ (C.),
du noyau de Scilab et des boîtes à outils fournies en GOURSAT (M.), NIKOUKHAH (R.) et STEER (S.). – Intro-
standard ; duction à Scilab. Springer (2001).

— le suivi de la qualité de Scilab ;


Dans les Techniques de l’Ingénieur
— l’assistance de premier niveau ;
— la valorisation et la promotion de Scilab ainsi GOMEZ (C.). – Calcul formel. [A 144], Sciences fondamenta-
que l’animation scientifique. les (1995).
SOULEMA (P.). – Système d’exploitation Unix. [H 1 528],
Cette équipe ne réalise ni service, ni formation : Technologies logicielles – Architecture des systèmes
c’est le rôle des SSII, qui appartiennent ou non au (1997).
consortium Scilab. Ces dernières peuvent aussi aider COCQUEBERT (C.). – Système Linux. [H 1 538], Technolo-
au passage ou à l’introduction de Scilab dans l’entre- gies logicielles – Architecture des systèmes (2001).
prise. L’équipe Scilab ne développe pas non plus de
JEANNEAU (X.). – Calcul formel avec Maple. [H 3 028], Tech-
boîtes à outils, mais elle peut aider à leur
nologies logicielles – Architecture des systèmes (2002).
réalisation : c’est le rôle des contributeurs académi-
ques, pour des développements en général à la AIGRAIN (P.). – Logiciels libres. [H 3 218], Technologies logi-
pointe de la recherche, ou bien des industriels pour cielles – Architecture des systèmes (2003).
des développements dédiés ou des applications PINCHON (D.). – Systèmes de calcul formel. [H 3 308],
métiers. Il est à noter qu’il est tout à fait possible de Technologies logicielles – Architecture des systèmes
vendre une boîte à outils, même si Scilab est un logi- (1995).
ciel libre (§ 2). BERTRAND (M.), IUNG (C.) et ZAYTOON (J.). – Systèmes
dynamiques hybrides. Modélisation et simulation.
Mais l’essentiel est que cette équipe réalise ce [S 7 105], Informatique industrielle (2004).
qu’attend tout utilisateur d’un éditeur de logiciel.
C’est ce qui permet le développement d’un logi-
ciel libre avec des normes professionnelles.
Sites Internet
4. Perspectives
Scilab
Le consortium Scilab avec son équipe opération- http://www.scilab.org
nelle a été créé en mai 2003. Depuis, le développe- Le logiciel peut être chargé sur ce site. On y trouve éga-
ment professionnel de Scilab s’est mis en place et a lement une documentation, une bibliographie, des infor-
abouti à la réalisation de la version 3.0 sortie en mations sur le consortium, les dernières nouvelles sur le
juillet 2004. Elle comporte des améliorations déjà développement ainsi que les manifestations passées et à
venir.
considérables, surtout en matière d’ergonomie et de
performances, avec le nouveau graphique orienté Scicos
objets et la nouvelle version pour Windows. Mais le http://www.scicos.org
travail n’est pas terminé et il est nécessaire d’accroî- Réseau national des technologies logicielles (RNTL)
tre à la fois la notoriété de Scilab et ses fonctionnali- http://www.telecom.gouv.fr/rntl

2 - 2005 © Techniques de l’Ingénieur IN 31 - 5

Dossier délivré pour


DOCUMENTATION
18/09/2008

Vous aimerez peut-être aussi