Scicos > History

 

Scilab/Scicos history

 

Scicos has been developed as part of the scientific software package Scilab. It would be difficult to grasp the history of Scicos without some knowledge of Scilab’s history.

 

Scilab

 

The ancestor of Scilab, Blaise, later named Basile, started in 1982 by Francois Delebecque at INRIA. Inspired by the original public domain Matlab developed by Cleve Moler at MIT, Francois Delebecque and Serge Steer of the Theosys team directed by Alain Bensoussan produced a scientific software package that included not only an interpreter and elementary matrix operations but also a large number of simulation and optimization routines. Most of these routines came from free software projects, some were contributed from other INRIA teams the most important of which were perhaps the optimization routine developed by Claude Lemarechal and the graphics routines by Americo Marrocco. Another major component of the software developed then was the Signal processing toolbox developed by Carey Bunks under the direction of F. Delebecque.

 

Basile was distributed as a commercial product by Simulog, an INRIA startup company, starting 1984 and was successfully distributed in France until late 80's. In 1990, the Meta2 project of INRIA and ENPC decided to develop an open-source version of Basile: Scilab was born.

 

The Scilab core was developed in the Meta2 project team, headed by Jean-Pierre Quadrat, mainly by S. Steer, F. Delebecque and J. Ph. Chancelier from ENPC, ex Meta2 PhD student who made important contributions, in particular the Scilab graphics, which had to be redeveloped because of copyright issues, the X11 GUI and later, the GTK GUI. Ramine Nikoukhah started the Scicos toolbox and Claude Gomez and Maurice Goursat developed Metanet; its graphical editor was later fully integrated in Scilab by J. Ph. Chancelier and S. Steer. This group of developers, later called the "Scilab team", released the first version of Scilab in 1994; they were responsible for every aspect of the product, including maintenance, packaging and documentation, until 2003. The team also worked on promoting Scilab: two books, one in English and one in French, were published and the Scilab newsgroup was put in place by C. Gomez and R. Nikoukhah. Important events during this period were the port of Scilab on Windows operating system by J. Ph. Chancelier in 1999 that boosted the download statistics of the software enormously, and the development of the TCL/TK interface by Bertrand Guiheneuf. Other important developments included an integrated Scilab editor by Francois Vogel and Enrico Segre based on TkNotePad, especially appreciated by Windows users; the mexfile package for Matlab compatibility developed by F. Delebecque; the development of systems and control toolboxes by F. Delebecque with contributions from other Meta2 members: S. Steer, R. Nikoukhah and Pascal Gahinet. The Lapack and slicot libraries were interfaced by F. Delebecque and Petko Petkov. During this period, the Scilab language was very much enriched. New data types such as sparse matrices and hypermatrices were introduced by S. Steer and major contributions were made for their efficient implementation by Bruno Pincon who also provided a very popular Scilab tutorial.

 

A startup Company called Saphir-Control was created in 1998 by Habib Jreige , an ex PhD student of the Meta2 project. This company provided support for Scilab and Scicos to industrial users. It played an important role in the promotion of Scicos.

 

The Scilab development team under the auspices of the Scilab Consortium took over Scilab in 2003. Scilab team headed by C. Gomez had the responsibility of packaging the software, porting it to new platforms, providing first level user assistance, and, the promotion of Scilab. The Scilab team has since been reinforced taking on other responsibilities such as the development of the new object oriented graphics library started in 2000 by S. Steer and Djalel Abdemouche in Metalau project, the development of a Matlab/Scilab translator realized primarily by Vincent Couvert, and the development of a new Java-based GUI.


ScicosLab


When the Scilab Consortium launched the development of Java-based Scilab 5 in 2005, the Metalau project team and ENPC decided to maintain their own version of Scilab, based on Scilab 4, for disributing new software developments stemming from research activities of the Metalau team at INRIA and ENPC. This version, first called ScilabGtk, was renamed later ScicosLab to avoid all confusion with the Scilab software.  ScicosLab contains in particular the latest versions of MaxPlus and Scicos, which are toolboxes developed in the Metalau project.

 

Scicos

 

The Scicos formalism was developed by Ramine Nikoukhah inspired in part by the work on the extension of the synchronous language SIGNAL to continuous-time dynamics made by Albert Benveniste. The first version of Scicos was entirely written in Scilab language by R. Nikoukhah and had no graphical editor. He later coded the simulator in fortran and parts of the compiler in C for the first official release in 1994, which included a graphical editor developed primarily by S. Steer. Scicos developed at a slow rate with the help of PhD students, PostDocs and interns until late 90’. The code generator was developed for example by Rachid Djenidi (PhD student) and an optimized implementation of the compiler was realized by Azzedine Azil (PhD student). Industrial partners provided application examples and even participated actively in the developments (for example Eric Demay from EDF).

 

Thanks to R&D contracts, the development of Scicos accelerated considerably after 2000. R. Nikoukhah developed a new simulator in C with the help of Masoud Najafi (PhD student and later Metalau Engineer), Scicos data types were extended by Alan Layec and later Metalau Engineer). Modelica was introduced into Scicos thanks to open source compiler developed by Sebastien Furic (currently at LMS-Imagine); this work was realized with the help of S. Steer and M. Najafi. The new Scilab graphic library routines replaced the old ones (no longer supported) in Scicos by Simone Mannori (Metalau Engineer then), Benoit Bayol (Intern) and S. Steer. S. Mannori also developed Hardware in the loop applications for Scicos. The book “Modeling and Simulation in Scilab/Scicos” by Stephen L. Campbell, J. Ph. Chancelier and R. Nikoukhah played a key role in the promotion of Scicos, so did the Scicos RTAI real-time code generator developed by Roberto Bucher.

 

For the release 4.1.2, R. Nikoukhah developed a completely new compiler algorithm and a multi-windows graphical editor. This compiler was used by A. Layec to redesign the code generator. Scicos is currently developed by the Scicos team (A. Layec, M. Najafi, F. Nassif) headed by R. Nikoukhah in collaboration with outside contributors in particular S. Furic and J. Ph. Chancelier. Scicos adopted the GPL license in 2008. A new GPL Modelica compiler is being developed by S. Furic and R. Nikoukhah.


Due to stability and performance problems with Scilab 5, Scicos is now only developed in and for ScicosLab. The latest stable version, Scicos 4.3, is released with the software package ScicosLab 4.3. This version contains a new compiler developed in Ocaml. Scicos 4.4 has been release with ScicosLab 4.4 beta in December 2009, which is the subject of the new edition of the book on Modeling and Simulation in Scilab/Scicos entitled Modeling and Simulation in Scilab/Scicos with ScicosLab 4.4.