Final review of Scilab projects in the Google Summer of Code 2011

The balance sheet of the 2011 edition is very positive, as on 9 selected projects on Scilab, 7 of them have been successfully completed.

For the third consecutive year, Scilab has been involved in the Google Summer of Code as mentoring organization. The involvement of the students and the quality of the achieved work was remarked and appreciated.

CGLAB Module (a CGAL-based extension) by Edyta Przymus

Edyta Przymus worked on providing a binding of CGAL available from Scilab. USers are now provided with advanced computational geometry functions. A release of this project (tagged as 2.0) has been published in ATOMS (Scilab module packaging system).

.net called from Scilab by Igor Gridchyn

This project aims at allowing transparently loading and usages of .net objects straight from Scilab. Since Scilab already had a similar project for Java called JIMS, the first task of Igor Gridchyn consisted in extracting the common section of code before developing dNIMS (dotNet Interaction Mechanism in Scilab).

For now, the work has been mainly on the official implementation of .net but a port will be considered on Mono.

Accurate and Portable Elementary Functions by Shashank Sahni

The objective of this project was to tackle some subtle multiplatform issues considering that basic computations in Scilab (sin, cos, etc) are delegated to the math library provided by the operating system. While these functions are robust, extremely well tested and strong, differences in the results have been found in some cases.

Using a common library for all operating system supported by Scilab would handle those problems. Shashank Sahni worked with fdlibm, also used by the Java Virtual Machine, as low-level libraries. While results on the numerical level are good, some performances issues remain before making this library default in Scilab.

Mexlib from Scilab by Iuri de Silvio

The goal of this project was to provide a wrapping of Matlab MEX-Files headers on API_Scilab to simplify migrations from Matlab of toolboxes using C or C++. Iuri Silvio implemented most of the connections between the Mex and API_Scilab.

  • The result of mexlib project are available in the YaSp branch (development branch of Scilab 6.0)

At the end of the GSoC, Iuri also worked on GIWS, software which greatly simplifies the call of Java method/object from C/C++, in introducing Python management, allowing Python classes to be called from C++.

  • The code is available in the git branch of GIWS called "python" and should be merged in a near future in the master branch.
  • Project Final Report

Dakota module by Yann Chapalain

Developed by the Sandia National Laboratories, Dakota is a toolkit which provides an interface between analysis codes and iterative systems analysis methods. With Dakota module, creation of optimization strategies for complex systems will be available from Scilab. 
Yann Chapalain, with his mentor, Yann Collette, worked on two aspects of this project:

- Extends Dakota in order to manage Scilab from Dakota,
- Allows Scilab to call and manage Dakota.

The patches are waiting from approval into the Dakota source tree. Once they have been accepted, a first version of the Dakota/Scilab module will be released.

Binary patching by Stefan Mihaila

This project enables a quick and easy update process of Scilab for new upstream releases or major fixes. The development has been split into several parts:

- Development of a component watching for new Scilab release,
- Analysis of binary patching tools,
- Development of multiplatform components.

Introduce a Scilab backend to Cantor by Filipe Saraiva

The goal of this project consisted in providing the power of Scilab to Cantor software, a Qt/KDE front end on numerical computing software. Filipe Saraiva worked on the introduction of Scilab and its capabilities as a backend computing engine. Since Filipe needed to modify some piece of code in Scilab itself, the Cantor/Scilab connector will not be released until Scilab 5.4.0.