The AIDA system uses a programming language called POOL. Single commands on command line level can be executed as well as entire modules or function libraries can be build. It is thereby the integrated programming language of the AIDA system.

  • There are already so many other programming languages, why thus a new one, POOL?
    In the AIDA system two base requirements stand opposite each other, which do not necessarily go very well together. On the one hand, for command line input a somewhat comfortable and powerful scripting language is necessary, with which one can set off an entire sequence of commands as well. On the other hand, command sequences shall be combined into fixed applications or libraries and should show the quality of a solid programming language. From the beginning, in order to keep the system simple, it was one of the basic requirements for the AIDA system not to have two different types of languages to control the system. During the search for available options for this purpose it was easily recognizable that there is neither a scripting language available which would comply with serious complex programming demands nor a programming language that is really interactive.

So, the decision fell at last to create the new language POOL, which possesses all the desired and necessary characteristics:

  • POOL is easy to learn
    Due to the very clear semantics and the strict syntax of Pascal, POOL was designed on the basis of this language. Pascal itself was created originally as a training language.
  • POOL is flexible
    Despite of its derivation from Pascal and committing to its name many loans from other programming languages were inferred and included into the „POOL“ of possibilities.
  • POOL is object-oriented
    Borland's extension to Pascal as an object-oriented language serves as language scope. This is more or less obvious, since it is of advantage to interpret all the parameters and measured variables, which such a system has to deal with, as objects with all their attributes and methods.
  • POOL is portable
    The entire POOL System is written in ANSI-C, just like the parser, the code generator and the code interpreter, and is therefore in its whole easily portable to other operating systems.
  • POOL is independent
    POOL uses uniform data types on all platforms. The code produced by POOL is for a virtual machine and therefore executable on really all platforms. Since on the level of the virtual machine all object linkings are removed, it therefore can be executed on small computers, as for example intelligent interface boxes, as long as they provide a small code interpreter.
  • POOL is open
    C function calls are used as interface to generic libraries and operating system calls. Thus the developer is in a position to integrate existing libraries into the AIDA system. Beyond that, this also simplifies the possibility to trigger system calls, since API calls are usually provided as C-calls.
  • POOL is transparent
    The code produced by POOL contains debugging information, which can be used for genuine source code debugging.
  • POOL code is protected
    The code produced by POOL is for a virtual machine and therefore protected against re-engineering unlike a compiler code.
  • POOL is a highly efficient command language
    Since POOL possesses runtime type information, also complex statements are realizable as commands. Thus a highly flexible command syntax is achieved, without giving up the basic strictness in the design of the syntax of POOL.