Programming Language

All ModelTools tools were developed using the C# programming language.

This seems reasonable for tools meant for the Windows operating system, but requires some explanation for tools meant for Linux distributions. This is where Mono comes in.


Mono, now owned by Microsoft, provides a (free) cross-platform computing environment for C# software development and execution. Both terminal and GUI interfaces are supported.

The importance of this is that ModelTools software could be developed and deployed in a very efficient way. The development of fast XML parsers comes to mind immediately.


The Windows and Mono C# compilers both compile C# source code to CLI (Common Language Infrastructure).

CLI is a byte based intermediate language that is similar to Java's ByteCode. CLI can be considered to be executable code when the operating system provides a second compiler that compiles CLI to native code.

Further, the Windows Mono compiler and the Linux Mono compiler both compile to (nearly) identical versions of CLI. Thus, tools developed for Windows can easily be ported to Linux and vice versa.