next up previous
Next: Interactive Scripting Language Up: NCCS - User InterfaceDesign Previous: Introduction

Design Principles

The user interface will be based on the following design principles :
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.
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).
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.
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.
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 up previous
Next: Interactive Scripting Language Up: NCCS - User InterfaceDesign Previous: Introduction
Mike Gaylard