A short history of
Cabri-Graph
[English | Français]
Cabri's goal
The CABRI project (in French CAhier de BRouillon Informatique, or Computerized Notebook) arose in France during the 80s from different actors working in Combinatorics and especially in Graph theory (in Grenoble, Saint-Etienne, Paris-Orsay, Le Mans, Montpellier). The concept was initially devoted to Graph theory but actually proposed the more general principle of using a computer instead of paper (or blackboard) and pen (or chalk) for helping in any research or teaching activity.
At that time the Universities were mainly equipped with terminals linked to central mainframes, but, on one hand the first personal computers and even some rather powerful workstations were already present, and on the other hand computer graphics was making considerable progress.
As soon as 1982-83, when the first graphical machines appeared (in particular Apple's LISA, followed by the Macintosh), the Laboratory for Discrete Structures (LSD) under the direction of Jean-Marie Laborde decided to acquire such hardware and embarked on the CABRI project. It appeared indeed that the aspects (which seemed revolutionary at that time) of user-friendliness and interactivity of these machines corresponded exactly to the principles of CABRI.
The starting phase 1983-85
- 1983
The first Macintoshes were rather poor with respect to programming languages: a Basic interpreter followed by a Pascal interpreter. These interpreters did not allow getting into the ToolBox and building a Mac application, but used astutely all the graphic resources of this toolbox.
Claude Benzaken, who worked during three months on a Basic interpreter only, made out of sheer curiosity a mini prototype in which one could already appreciate the graphic qualities of the Macintosh (edition of a graph, on-line modification of its drawing, structural transformation, etc.), while Michel Mollard and Jean-Marie Laborde were exploring the cross environment of Pascal and LISA-Macintosh.
- 1984
Claude Benzaken took over (end of 83, beginning of 84) the Cabri-Graphe project under the Pascal interpreter of the Macintosh, and made a rather more complete pseudo-software. Interactively with him, Jérome Bordier, Michel Mollard and Jean-Marie Laborde produced (from his sources) a Pascal version compiled on LISA and executable completely autonomously on a Macintosh.
- 1985
A the end of 1984, the Macintoshes had a Pascal compiler as well as a C-Megamax compiler, while the LISA series was being abandoned. Claude Benzaken took over the work of Jérôme Bordier, Michel Mollard and Jean-Marie Laborde (mostly for the interface), and adapted it to the C-Megamax environment. The comparison (at the execution stage) of the resulting codes showed a noticeable advantage for the C code. Towards the end of 1985, beginning of 1986, this software became available as an "alpha" version (to use a word in fashion).
1986-91, taking up
- 1986: a milestone
Jean-Marie Laborde took over the (poorly documented) C sources of Claude Benzaken and pushed the software program through a crucial progress. While CABRI-alpha displayed all the characteristics of the CABRI spirit, its power was still very limited: a bounded number of vertices (32 then 64), only one document on screen (but with a private buffer). Jean-Marie Laborde stepped over all these limitations (which would not appear any longer other than dynamically, according to the capacity of the host machine). He added many functionalities (various operations, increased user-friendliness, etc). One can say that the apparent success of the product enticed him to adopt from then on a new orientation, in the CABRI spirit, towards making a teaching and learning environment for elementary plane geometry. The idea of CABRI-Géomètre was born.
- 1987-90 : Olivier Baudon
Jean-Marie Laborde oriented and directed the research of Olivier Baudon on Cabri-graphe. Baudon's thesis was finished and defended in 1990. Many contributions were made to the software: a random generator accepting constraints (even contradictory ones), optimal presentation(s) of a graph according to the properties it may have or hide, a planarity test and a corresponding drawing when the test is positive, etc.
The state of the art since 1992
Graph Theory keeps bringing in new and new problems. Hence it may
appear that the Cabri-Graphe development project should never stop
(other than for lack of new volunteers). In the CABRI spirit one can
now discern two trends in the extension of the project:
- on the
one hand, the improvement of the drawn aspects of a graph (including a
possible orientation of the graph, edge multiplicity, and curved
rather than straight lines for the edges). This trend is handled by Yves
Carbonneaux in his doctoral thesis.
- on the other hand, the
introduction of more logic, for example, to take inference into
account. In a similar vein, and in order to avoid creating an
all-purpose monster software program, one would like to enable the
users that want to focus on one special part of graph theory to build
their own relevant software environment.