Open source software for numerical computation

Skip to main content

Scilab 6.0.0 Release

The Scilab team is happy to announce the release of Scilab 6.0.0

Download Scilab 6.0.0

Scilab 6 is a major new release of Scilab, the open source platform for numerical computation. 

Scilab is a free and open source software massively used in scientific & engineering communities (100 000 downloads per month worldwide).

Scilab is used for modeling, simulation and scientific post-processing, in education & research (Fraunhofer Institute, Aerospace agencies, ...) and industrial companies (Airbus, ArcelorMittal, Air liquide, Microchip, PSA, Renault, Sanofi, STMicroelectronic, Valeo, ...)

 

What's new in Scilab 6

The Scilab Team invested significant development efforts for the past years in order to release Scilab 6.

The goal with Scilab 6 is to address technological evolutions and new needs in terms of modeling and simulation from the scientific & engineering community.

This led our team to completely redevelop the computation core of Scilab in order to build a solid base combining performance and evolutivity.

The new aspects of Scilab 6 worth notifying are the following:

  • New language parser & new core
  • New utilities for development productivity
  • Xcos block diagram improvement
  • Newsfeed - a communication channel with the users

New language parser & new core 

This release includes a major rewrite of Scilab's internal core. The changes to the visible aspects of the software are limited.

The first big internal change is the ability to manipulate bigger data sets, without exhausting system resources. This includes in particular:

  • A much better memory management. Memory usage is now only limited by the machine's memory. This was a much needed and requested feature. There is no need for stacksize anymore,
  • Support for bigger data sizes, in particular with better support for HDF5 files,
  • Some new and improved data types: 64-bit integers, ability to define user types in C++ modules. Also, matrices with more than two dimensions are now implemented natively.
  • Native data structures (cell, struct) as well as multidimensional matrices yield, in most cases, better performance both in memory usage and execution speed. 
stacksize5en

The second big internal change is a complete new language parser and interpreter, with the following changes:

  • The language is much more coherent and predictable,
  • The grammar is stricter but more consistent,
  • Error handling has been improved,

The language has a slightly better compatibility with Matlab's (for example control instructions such as switch/case statements). The language changes are not all backward-compatible but the modifications should be quick and rare. For more information, refer to this detailed description.

These changes may not amount much to end-users but they were much needed and much worked-on improvements to the Scilab platform. These improvements enable further improvements in the future, in terms of code management, development tools (debugger, analyzer, etc) as well as improvements to other parts of the platform (Xcos...) that would not be possible without this release.

New utilities for development productivity

A command-line debugger:

debugger6

This environment enables to debug Scilab script. After a call to the function debug(), you will enter the debug mode. This mode allows you to manage breakpoints, launch execution with stop on errors, execute script step by step, etc. When the debug mode is active, prompt change to "debug>".

To find out more, read this tutorial or the online help.

A coverage and profiling tool:

Coverage and Profiling report

This tool produces a HTML report for the time spent (profile) on each line of the function.

To find out more, read the online help.

A static code analyzer (lint):

With the function slint, the user is now capable of performing a static analysis of his script. It detects unclear, risky or suspicious code by checking some criteria available on the online help.

In this elementary example, a certain number of risky behaviours are underlined, such as the use of global variable within a function:

This module was developed with the contribution of the french space agency CNES. We want to thank them for their support in the development of Scilab.

Xcos block diagram improvement

The graphical editor of dynamic systems Xcos distributed with Scilab also leverages the complete rewrite of the core of Scilab. It allows to simulate bigger block diagrams. Xcos 6 also support diagram created with previous versions of Scilab/Xcos. 

Moreover, a certain number of features added in this release improve the ergonomy of the software:

New features in the palette browser:

Zoom in & out through theses buttons

zoom_button

Access the navigation history within the different palettes through theses arrows 

history_button

Search in the palettes through a new field located in the menu bar 

xcos_searchbar6

Ergonomy in editing block diagrams:

A new link style is available, finding the optimal path between two blocks

Pasted image at 2017_02_15 10_05
Pasted image at 2017_02_15 10_06

A new option for automatic positioning of the nodes splitting the links ("split blocs")

Pasted image at 2017_02_15 10_49
Pasted image at 2017_02_15 10_49 (1)

Those features were developed in the frame of the Google Summer of Code.

Newsfeed - a communication channel with the users

You will discover a new component in your scientific environment Scilab called the Newsfeed.

This component will enable to push news, tips and communication from the community and the Scilab team. 

kriging

Read the complete release notes: