Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

External programs or 'Satellites'

In general Quaestor is general Quaestor is able to "see" satellite programs as objects / parameters, providing values to the calculation process. For every process there is a generic approach with respect to the file and data management. The way Quaestor is way Quaestor is actually communicating with the external program depends on the program itself.

File and data management for external programs 

Quaestor has Quaestor has two concerns while using programs:

  1. How to find the external program;
  2. How this program should find its own additional files;

By default Quaestor expects default Quaestor expects programs in the Applic directory as specified in the standard directory structure. As working directory Quaestor will directory Quaestor will set the project directory as specified in the standard directory structure. As Knowledge Engineer you are able to specify other directories to find files from withing Quaestorwithing Quaestor. However, you cannot manipulate the way the external project will find its files. All the required files should always be available in the working directory set by Quaestorby Quaestor.

By means of a special @COPYFIRST attribute for the GET$ function you are able to copy any file prior to running a program. In this way you can make sure any additional data files or dll's are copied to the working directory to be find by the external process.

...

Note that, with some effort, most of the programs can be integrated with Quaestorwith Quaestor.

Please realize however that a connection itself is one thing. What type of information a program requires and is providing, and how intelligent this program is, will determine its usability in a process (or the effort to make it work) to a far greater extent. A smart program can be incorporated with very little effort while a dumb program with equal functionality may require a lot of pre- and post-processing in Quaestor in in Quaestor in order to create input and/or get results.

...

These are the most straight forward programs. Usually these programs expect the input file to have a standard name and to be at the location in the active directory (the working directory, which is actively managed by Quaestor) and the program generates the output file with standard name in this active directory.

In Quaestor the In Quaestor the following steps are required:

...

You might not yet realize, but by the fact that parameters associated to the parse script, are associated to the GET file, which is associated to the program and the put action, which is associated to the template for the input, you have connected the input to the output through the program.

Quaestor manages Quaestor manages the setting of the working directory and the execution of the program if required (hence, Quaestor will  Quaestor will only run the program when the input changes... which makes it highly efficient!)

...

  • with switches to define the type of calculations by the program;
  • a specification of the input file name;
  • optional specification of the desired output file name;
  • ...

In QuaestorIn Quaestor, the definition of the input file is equal to the first method. However, for execution it might be interesting to create a batch file in addition to the input file. In the batch file you write the specific command line options and in the GET$() relation you do not specify the program itself as process to be executed, but the batch file (which executes the program).

...