A Short History

The SYN tools were originally intended as no more than a "proof of concept" quick-and-dirty implementation that would show that it is in principle possible to calculate system properties from component measurements. They were implemented on a kubuntu GNU/Linux system with little regard for possible use on other platforms. Perl was chosen as the implementation language partly because it is available for a variety of platforms, but liberal use was made of its "system" function to execute GNU utilities and a Linux shell to do things like

system("rm -f foo; cp -p baz foo")
to copy a file, or
system("echo 3 | ./code")

to execute a program and send it input 3. As the tools "just growed" they were fitted more and more to GNU/Linux and problems of the moment were solved without a thought about portability. It was early decided to use GNUPlot as the primary output generator, again without considering portability.

But Perl really does try to be platform independent, and Perl modules can replace shell commands, in the two examples above the File::Copy module can manipulate files, and with the Perl "glob" function is powerful enough; the IPC::Open3 module executes code and can pass it input and collect its output. When standard modules were substituted, the Perl scripts run even on MS Windows systems. GNUPlot also aspires to platform independence.

It would be relatively easy to arrange for part of SYN to work in "point and click" mode on any platform that has such an environment (even Linux!). Scripts could be run when a user clicks on the configuration files, e.g., a component-measurement script for a ".ccf" file, or the main synthesis script for "system.pscf". That stopgap would be no substitute for redesigning the tools to really use a GUI. To obtain the full functionality of the command-line tools it's best to stick to commands. It isn't hard to type a command with no arguments as an alternative to a mouse click. Although the X-windows system can be installed, it is simplest to rely on GNUPlot to take care of its windows and avoid the complications of installing X11.