Logiciel open source de calcul numérique

Passer au contenu principal

Sortie de Scilab 6.0.0

L'équipe Scilab est heureuse de vous annoncer la sortie de Scilab 6.0.0

Télécharger Scilab 6.0.0

Scilab 6 est une nouvelle version majeure de Scilab, la plateforme open source de calcul numérique. 

Scilab est un logiciel open-source utilisé largement dans les communautés scientifiques et d'ingénierie (100 000 téléchargements chaque mois à travers le monde).

Scilab est utilisé pour la modélisation, la simulation et le traitement de données scientifiques, dans l'éducation et la recherche (par INRIA, CNES, CEA, CNRS, Fraunhofer Institute, DLR, ...) et dans l'industrie (Airbus, ArcelorMittal, Air liquide, Microchip, PSA, Renault, Sanofi, STMicroelectronic, Valeo, ...)

 

Les nouveautés de Scilab 6.0.0

L’équipe Scilab a investi ces dernières années des efforts conséquents de développement pour la sortie de Scilab 6.

L’objectif fixé de Scilab 6 a été de répondre aux évolutions technologiques et aux nouveaux besoins en modélisation et simulation au sein de la communauté scientifique et d’ingénierie.

Cela a amené l’équipe à refondre entièrement le coeur de calcul de Scilab pour apporter une base solide combinant performance et évolutivité.

Les nouveautés notables de Scilab 6 comprennent les aspects suivants :

  • Nouveau noyau, nouvel analyseur syntaxique et nouvel interpréteur
  • Nouvelles fonctionnalités pour améliorer votre développement
  • Amélioration de la gestion des schémas blocs dans Xcos
  • Newsfeed - un canal de communication avec les utilisateurs de Scilab

Nouveau noyau, analyseur syntaxique et interpréteur

Cette version inclut une réécriture majeure du noyau interne de Scilab.

Le premier grand changement interne est la possibilité de manipuler de plus grands ensembles de données, sans épuiser les ressources du système. Cela comprend en particulier :

  • Une meilleure gestion de la mémoire. L’utilisation de la mémoire est dorénavant limitée par la mémoire de la machine. Cette fonctionnalité était très attendue et nécessaire. La fonction stacksize n’est donc plus utile,
  • Les grandes ensembles de données sont supportés en particulier pour les fichiers HDF5,
  • Des nouveaux types de données et des améliorations : les entiers 64 bits, la possibilité de définir des types d'utilisateurs dans les modules C++. En outre, les matrices de plus de deux dimensions sont maintenant implémentées nativement,
  • Les structures de données natives (cell, struct), ainsi que les matrices multidimensionnelles ont, dans la plupart des cas, de meilleures performances tant en utilisation de la mémoire qu’en rapidité d'exécution.
stack5

Le deuxième grand changement interne est un tout nouvel analyseur syntaxique et un interprèteur, incluant les modifications suivantes :

  • Le langage est beaucoup plus cohérent et prévisible,
  • La grammaire est plus stricte mais plus cohérente,
  • La gestion des erreurs a été améliorée.

Le langage est légèrement plus compatible avec celui de Matlab (par exemple dans le cas d’instructions de contrôle telles que les déclarations switch/case). Les changements de langage ne sont pas tous rétrocompatibles mais les modifications devraient être rapides. Pour plus d'informations se référer à ce descriptif détaillé.

Ces changements n'auront pas beaucoup d'impact pour les utilisateurs finaux, mais ils apportent des améliorations majeures à la plateforme Scilab, qui conduiront à de nouvelles améliorations futures, en termes de gestion de code, d’outils de développement (débogueur, analyseur, etc), ainsi que des améliorations de Xcos, qui ne seraient pas possibles sans cette version.

Nouvelles fonctionnalités pour améliorer votre développement

Un debugger en ligne de commande :

debugger6

Cet environnement sert a débogger un script Scilab. Après l'appel a debug(), vous entrez en mode debug. Ce mode vous permet de manipuler des points d'arrêts, de lancer des exécutions avec arrêt sur erreur et d'exécuter des scripts en mode pas à pas. Une fois que ce mode est actif, l'invite devient "debug>".

Pour en savoir plus, lire ce tutoriel (en anglais) ou consulter l'aide en ligne

Un outil de couverture de code et de profilage :

Coverage and Profiling report

Cet outil produit un rapport HTML sur la mesure du temps passé dans chaque ligne de script (profilage).      

Pour en savoir plus, lire l'aide en ligne (en anglais).

Un outil d'analyse statique du code (lint) :

Avec la fonction slint, l'utilisateur est maintenant capable de réaliser une analyse statique de son script. Cela aura pour effet de détecter les comportements suspicieux, à risque ou à clarifier dans le script, en se basant sur un ensemble de règle de codage, disponible sur l'aide en ligne.

Dans cet exemple élémentaire, un certain nombre de pratiques à risque sont soulignées, telles que l'usage de variable globale au sein d'une fonction :

Ce module a été développé avec la contribution du CNES, que nous remercions pour leur participation au développement de Scilab.

Amélioration de la gestion des schémas blocs dans Xcos

L'éditeur graphique de systèmes dynamique Xcos distribué avec Scilab tire également profit de cette réécriture du noyau de Scilab. Cela permet de simuler de plus gros schémas. Xcos 6 supporte également les schémas créés avec les versions précédentes de Scilab/Xcos.

De plus, un certain nombre d'ajouts de fonctionnalité facilite l'usage et l'ergonomie du logiciel :

Nouvelles fonctionnalités du navigateur de palette :

La possibilité de zoomer/dézoomer à travers les boutons

zoom_button

L'accès à l'historique de navigation dans les différentes palettes à travers les flèches 

history_button

La recherche dans la palette à travers un champ de texte dans la barre de menu 

xcos_searchbar6

Ergonomie à l'édition de schémas blocs :

Un nouveau style de liens est disponible, trouvant le chemin optimal entre deux blocs

optimal_link_menu
optimal_link

Une nouvelle option de positionnement automatique des noeuds de jonction entre les liens ("split blocs")

splitbloc_menu
splitbloc_auto

Ces fonctionnalités ont été développées dans le cadre du Google Summer of Code.

Newsfeed - un canal de communication avec les utilisateurs

Vous découvrirez dans l'environnement scientifique Scilab un nouveau composant appelé Newsfeed.

Ce composant servira à pousser des nouveautés, tips et communications provenant de la communauté et de l'équipe Scilab.

kriging

Pour consulter les notes de version complètes (en anglais uniquement)