GSoC/GCI Archive
Google Summer of Code 2010

Scilab Consortium/Digiteo Foundation

Web Page: http://wiki.scilab.org/Ideas_of_development_for_Scilab

Mailing List: http://www.scilab.org/communities/developer_zone/tools/mailing_list

Scilab software provides a powerful open platform for engineering and scientific applications. Nowadays, Scilab is the reference for Open Source Numerical Software Package. Scilab is currently used in academic and industrial environments around the world. There are more than 100,000 monthly remote loadings from Scilab Website. Scilab includes hundreds of mathematical functions with complete on-line help. It has high level programming language and allows making 2-D and 3-D graphics and animation. Scilab works under Windows XP/Vista/Seven, GNU/Linux and Mac OS X. Scilab is highly extensible and can be used in many different fields.

Projects

  • Adding additional UI features into Scilab GUIs Currently, Scilab does have the functions to create and manage GUIs from the console itself. However, the Scilab UI libraries can definitely be improved upon by adding more UI features and tools.
  • Database module + FuzzySQL I am going to implement a Scilab database module, representing two-layered architecture. The feature will be available to user as a set of Scilab functions for connecting/disconnecting to/from database, managing transactions and executing queries against a database. To make more use of database interfaces, I will also provide the ability to construct fuzzy queries to databases.
  • Explore providing a version of Scilab based on Eigen I would like to implement a version of Scilab based on the Eigen C++ Template Library. Upon implementation, the pros and cons of this implementation versus the current version of Scilab (based on BLAS/LAPACK could be weighed against one another and the groundwork for a possible switch to Eigen could be explored.
  • Hybrid automata module for Scilab/Xcos Hybrid automaton is a standard model for hybrid systems. Currently, Scilab/Xcos has a support for modeling of hybrid automata, but it does not allow direct specification of automata and require manual transformation of automaton's graph into syntax of Xcos diagrams. This project is intended to provide a convenient environment for direct modeling of hybrid automata in Scilab/Xcos.
  • Metanet and Boost.graph An existing Scilab library for manipulating graphs and performing various graph algorithms – Metanet – is currently implemented in Fortran, C & Java, but doesn't take advantage of The Boost Graph Library. The part that's implemented in Fortran (and also C) wouldn't hurt some performance improvement which could be very significant when using it on large scaled graphs. The main part of the project would be to change the Fortran implementation, to use the BGL.
  • Python import This project is to import Python and Numpy/Scipy object from the Scilab language. Python has efficient high-level data structures and Numpy/Scipy is the the fundamental package in Python for scientific computing. So importing them would make Scilab more powerful as a scientific computing tool. We would use the Scilab/C API, Python/C API and Numpy/C API to implement the project.
  • Simulink import The main idea of this task is to create Scilab module, that will allow users to import Simulink diagram to Xcos. This project is very valuable to Scilab, easy migration of Matlab projects with Simulink simulations to Scilab/Xcos, is a big step in migrating from Matlab to Scilab as a development environment.
  • SOAP Server & Client for Scilab Multithreaded implementation of a SOAP server for Scilab is suggested. The implementation will be written in C using the gSOAP library. The SOAP server will permit execution of only those commands that have been registered using a soap_register() command. soap_register() itself will be a remote (SOAP) method that will only be available to administrators of Scilab SOAP Server. Polymorphic capabilities of the gSOAP toolkit will be employed for handling different return types of a remote method.