Next: Interactive Scripting Language
Up: NCCS - User InterfaceDesign
Previous: Introduction
The user interface will be based on the following design principles :
- 1.
- modern UI concepts - modern user interfaces differ considerably
from the purely alphanumerical based interfaces which predominated
in the days of the mainframe and the early days of DOS.
User interface building is now recognised as a field on its own
requiring special programming and design skills.
Modern user interfaces aim at being user friendly and
put the user in charge (as opposed to
the computer).
These aims are achieved in part by using graphics,
user driven input (the user decides when and what), the mouse and a high
level scripting language for customizing.
- 2.
- scripting - one of the basic interfaces to the NCCS will be via
a high level language which can be used interactively or for executing
scripts.
The high level language will be based on the Tcl interpreter.
Tcl can be easily extended using C or C++ to include local
commands.
Tcl is a very popular language which runs on most platforms and which
has a large user community.
Tcl has recently been chosen as scripting language for the VLT
control system (ref. Messenger, January 1996).
The local extension to Tcl will be called obsh (for observer's
shell).
- 3.
- application programmer's interface - having only a scripting language
is not sufficient as a user interface.
It is also necessary to have a low-level interface to the system which can
be called from C and C++ (and eventually Fortran).
These languages offer what Tcl does not i.e. abstract
data types, data manipulation and efficiency.
The low-level interface will be via an application programmer's interface
(API).
The API will offer a well-defined set of routines for accessing the
control system.
The API will only have C bindings defined callable from C or C++.
Calls from Fortran will be possible if the compiler supports cross-language
calling or if Fortran wrappers are written for the API.
- 4.
- graphics - one of the main distinctive features of a modern
user interface is the use of graphics with a keyboard and
a mouse.
The NCCS user interface will make maximum use of graphics.
The main graphics programming language will be Tk the
Motif look alike Tcl extension.
Tk is much easier to program than using Athena or Motif widgets or
even worse Xlib.
All observing program will have a Tk graphical interface.
- 5.
- reliability and maintainability - both are obviously desirable
features for any system.
The user interface will ensure they are achieved by using the
principle of one task - one source.
This means every task or function of the system must be implemented only
once.
This also means that code will only have to be debugged once.
Next: Interactive Scripting Language
Up: NCCS - User InterfaceDesign
Previous: Introduction
Mike Gaylard
1999-06-14