Section: New Results
Improvements in SynDEx
Version 6 of SynDEx was the latest major release. It was completely redesigned, in OCaml instead of C++ which was used previously. It provides new features such as hierarchical modularity (essential for top-dow design of huge application), repetition (equivalent to For...Do... ) and conditioning (equivalent to If...Then...Else... ) constructs. SynDEx-6.0 is available since April 2002. In 2005 we had a lively of bug-fixing activity, mainly due to the success met by this software environment, and the many reports by industrial users developing practical applications for innovative products. We provide further details on the kind of applications conducted at MBDA, Mitsubishi Electric ITE, and PSA in the contractual section below.
We had to improve the code generator of SynDEx, mainly because the time to generate automatically the real-time distributed executives, and in a smaller proportion the amount of code itself, increase dramatically with the size of the application. The code generator was entirely redesigned and reprogrammed in Ocaml leading to an acceleration of a factor ten. Some simple optimizations were performed slightly decreasing the amount of generated code. Moreover, to minimize the memory we tested a first version of a heuristic based on coloured graph technics which reuses the data buffers when the code is generated.
We developped and tested a new type of heuristic which was not of type ``greedy but'' of type ``simulated anealing'', however based on the same cost function.
We introduced in the GUI of SynDEx a code editor in order to help the designer to write the applicative kernels used by the Gnu m4 macro-processor to produce the executable code dependent of the architecure, from the macro-code that is independent of the architecture, automatically generated by SynDEx.
Finally, we continued to improve the software architecture of the OCaml SynDEx program, to help with its maintenance and its further evolutions.