SCADE is a very good tool to program real-time applications: for and against
For:
Reading and understanding a SCADE program is quite easy. It is like an electronic schematic
It is possible to make a meeting around a sheet to discuss about it. It is more difficult with a script.
The results of the compilation is exactly what you program on the schematic
Numerical filtering, logics, realtime algorithm computation, variable sharing… is intuitive to handle
Tools for software certification are already done (verification, structural completeness…)
The language can handle an explosive complexity of the software
intercation with a simulator is very easy
Against:
Like Simulink, the ability to make subsystems is to avoid. Subsystems shall be seen as new “symbols”. Therefore some data (and errors) can be hidden.
A sheet with lots of symbols can be awful. Sometimes, you are solving a maze to find the error.
All is not inside the sheets… there is also the sequencing, that is to say the order in which the sheets are computed. If the sequencing is erroneous, algebraic loops can appear or unwanted delays.
The variable name must be as clear as possible.
It is obliged to have common coding rules to avoid the issues above.
It is easy to make new sheets… the complexity can then explode.
There is no file or configuration handle. I do not see how we could do developmental algorithms with SCADE (maybe there are solutions to do this), or multi-agent software.