Open source software for numerical computation

Skip to main content

Automatically generated Scilab toolboxes/ATOMS modules for applications in acoustics

Scilab has been used since 2000 by the acoustics team at LR Strasbourg (Cerema) to develop codes or software libraries dealing with noise emission, sound propagation, acoustic signal processing, both for measurement and simulation.

Over the years, the need to share and reuse this code has grown significantly. The opportunity provided by Scilab to create new toolboxes seemed to address the problem. However there is a large gap between a library of Scilab functions and a Scilab toolbox tree. Moreover, as of Scilab 4.x many manual operations were required to create a Scilab toolbox (loaders and builders) and a facility to populate a toolbox tree from a library was missing. Also from a software maintenance perspective, having to handle several files for each Scilab macro is not always convenient.

Therefore our team decided to develop its own tools to generate toolbox structures that comply with Scilab 4.x, then first releases of Scilab 5.x and the more recent ATOMS structure. In the “source libraries” the “literate programming” approach was followed. Function documentation, tests and examples share the same file as the Scilab code itself under the form of comments Thus, for a given toolbox structure, these comments are used to populate the toolbox with user help pages, examples and tests. The software for generation relies on Perl, due the intensive use of regular expressions and a Scilab script.

The aim of the presentation is in the one hand to present the approach we developed for this automatic generation, and in the other hand to give an overview of the main toolboxes which have been created.

Paper signed by Philippe Glé, Christophe Heinkelé, Guillaume Dutilleux, Cerema