An overview of the proposed design of the NCCS is presented in figure 1.
The NCCS will be a distributed control system. Each hardware and software module in the NCCS will be modelled as an object. Each object will belong to a class and have its own data. The class implements and determines the behaviour of the object.
Objects will be distributed over a number of computers running the Linux operating system. As many computers will be used in the NCCS as performance and design requires. At present dedicated computers are required for PC-STEER, PC-COREL and the main computer, PC-NCCS.
The computers will be linked via a dedicated local area network (Ethernet). Communication on the network will be based on Sun remote procedure calls (NFS/RPC). The ESRF device server technology will be used to handle network address resolution, device resource database and the root device class.
Instrumentation control will be done via the locally developed and maintained SDIO (Serial Digital Input and Output) bus together with suitable remote interface units.
Fast data acquisition will be done using Voltage to Frequency Converters (V/Fs).
The user interface will be ASCII and graphics capable based upon TK/TCL. TCL will be extended to support highlevel routines required for observing and setting up hardware configurations.
In what follows each development phase of the NCCS document will be treated individually. Each phase is broken down into a set of required components in rough order of completion, identifying the tasks which need to be done (marked with a ) and designating the person responsible.