Summer of Code 2017 :

GSoC '17 : Google Summer of Code

On the GSoC '17, the following projects and students have been selected :

Machine Learning features in Scilab

by Mandar Deshpande (mandroid) from Nagpur, Maharashtra, India.

Project Wiki Link

Machine learning has been implemented in all major software languages( C++, Java, Python, MATLAB) , with each having their individual set of libraries to support and improve existing numerical analysis and computation.

This project aims to develop machine learning features in Scilab, which will be available to the end-user as a toolbox or direct function calls. The project has been divided into two sections:

  1. all major machine learning algorithms will be implemented through Scilab code.
  2. an integration approach will be followed to adapt popular ml library Tensorflow for Scilab.

ml libraries to be adapted from python to Scilab :

Mentored by :

Matlab MEX-Files management

by Siddhartha Gairola (rocko) from Dehradun, Uttarakhand, India.

The main aim of this project is to provide a wrapper of Matlab MEX-Files headers on the current API Scilab. By using the MEX-Files wrapper the toolboxes in Matlab will be very easy to port to Scilab and also existing libraries using Matlab MEX could be directly used in Scilab. A module - mexlib module already exists in Scilab which is compatible with the Matlab-Mex API. Extending the current module and writing tests for each extension will be the major part of the project. Adding tests and a working demo for the already existing MEX functions will be included.

Mentored by :

Link to my activity page:


by Aashay Singhal (aashay) from Shahibaug, Ahmedabad, India.

The main objective of this project is to connect OpenFOAM solver to Scilab. This will give the user a better interface to use computational fluid dynamics(CFD) analysis in Scilab and setup meshes easily. Currently, there are ways to solve a flow equation(using ode) but there is no CFD solver toolbox or module in Scilab. This project will benefit a large fraction of Scilab users as CFD analysis is significant in vast areas like industries, research purpose, etc. The major work will include porting elbow flow demo in OpenFOAM to scilab which will include wrapping the functions in icoFoam solver of OpenFOAM to Scilab.

Mentored by :

OpenModelica Integration

by Leonardo José Consoni (leonardojc, bitiquinho) from São Paulo, Brazil.

Modelica is an object-oriented and declarative language specification for description/modeling of dynamic systems (mechanical, electrical, thermal, mixed, etc.). Scilab uses it inside Xcos to describe more complex blocks/components, taking advantage of existing compiler/translator implementations to generate correspondent C code for actual simulation.

For now, Modelica in Scilab is managed by an out-of tree compiler developed by LMS released under the GPL license, which is not actively maintained and support only a subset of the current language specification. The idea of this project is to allow the usage of OpenModelica’s OMCompiler (omc) as an alternative. Being a more up-to-date solution, omc integration would provide Scilab/Xcos the ability to use more advanced features, and avoid bugs, issues and maintenance burden of the current modelicac compiler.

Adapting Xcos blocks to support the FMI2 API standard would allow not only omc-generated code to be called but also any other FMI2-compliant applications to be easily integrate in the future.

Mentored by :

Related links:


by Diganta Dutta (​diggyhacker) from Bangalore, Karnataka, India.


  1. PDF Generation (SCILAB Internals)
  2. Memory Safety (SCILAB Internals)
  3. Anonymous Usage Tracking (SCILAB Internals)

Mentored by :

Link to my project's Wiki page:

Uicontrol export

by Nikhil Goel (​Wrath) from New Delhi, India.

The main aim objective of this project is to export uicontrols (components and widgets) along with other graphic objects. Currently when a graphic object is saved in bitmap or vectorized 2D surface, the scilab rendering engine is able to export the all the graphic objects except uicontrols. If a user plots a graph and lists few of the important values in a table, it will be extremely annoying to not find the table in the image they exported. Hence it is important to add this feature in scilab. There are 15 uicontrols for which this feature has to be implemented. Scilab allows the export in 10 image formats but our first focus will be to export all uicontrols in one format (example jpeg). Since the Java2D engine is generic, it can be used for other bitmap formats and then we can extend it for vectorial formats.

Mentored by :

Link to my wiki page:

Xcos Profiler

by Rui Shi (rui) from Clausthal-Zellerfeld, Niedersachsen, Germany.

Since Scilab is an open source, various practitioners use it to simulate real-time applications and systems. However, Simulation cannot be achieved in zero time. Knowing execution time is a key to develop an accurate simulation in real-time areas. Precise measurement of execution time is important in area about life safety, such as military equipments, automotive and aerospace industries. As we known, Matlab has a Profiler function which could measure where a program spends time. By using Matlab Profiler, we could evaluate and improve performance of programs. What I want to do is to make a similar function for Scilab. We use Xcos to make models that have many blocks. In some cases, we want to know execution time of these blocks. A variety of literatures introduce the way of measuring execution time but they did not present directly time to users. Therefore, in this project, I will measure time and present time to users.

Mentored by :

public: SummerOfCode2017 (last edited 2017-07-10 11:36:56 by jedi)