Designer's Interface Implementation Model

Here are some goals and solutions used for creation of the Designer's Interface.

Robust

Errors in the server do not affect operation of the client. This is achieved by having the server run as a separate process. In this way, the client can continue execution even if the server dumps core.

Separation of the server also makes it easier to incorporate new servers into the interface, by avoiding having to compile together sources which use different programming languages.

Versatile

When new clients (resp. servers) are adapted to work with the Designer's Interface, they can immediately be used with existing server (client) modules.

This is done by standardization of server communication, and the client function definition. Each client or server module has an associated specification file, which is read by the interface to facilitate correct usage.

Rigorous

Each run is defined by a startup file. The startup file is cross-checked for consistency against the module specification files. This ensures that variable references are correct and useful.

The startup file also serves as a record of the interface run. The run can be recreated by simply reusing the startup file.

Productive

The interface allows server processes to be run concurrently. rsh is used to control multiple processes on local and remote machines.

A perl script is used to save exit status information. This is described in more detail on the status information page.


Related Files

  1. Server Input/Output Language
  2. Client Include File
  3. Running the Designer's Interface
  4. Status Information

Return to Designer's Interface Overview.