The fourth PNX User Forum took place at Rutherford Appleton Laboratory. A mixture of progress reports, users experiences and looking to the future were combined with informal demonstrations. A question and answer session rounded off the day. The users could then take away their copies of PNX5 and PNX SR. About forty Perq users attended the meeting. These were mainly SERC grant holders and users supported by the Computer Board.
Prof. Morrison took the chair on behalf of Prof. Atkinson, who is Chairman of the Single User System Interim Panel which recently took over from SUSSG. He welcomed fellow users of the Perq. The aim of the day was to give people plenty of opportunity to talk about problems and share experiences.
Julian began by advertising the European Perq User Group meeting on 28th-29th July, 1986. He went on to describe the present and future of the Common Base Programme (CBP) and of Perqs in particular.
There had been several changes to the staff and support arrangements since Christmas. Some people were new to Single User Systems (SUS). Ken Robinson is now in charge of the Man Machine Interaction (MMI) section of Informatics Division. CBP is in the Distributed Interactive Computing Group led by Ken Hartley. The group is split into Interactive Computing Facility (ICF) Support led by Mike Jane (grant assessments are dealt with here by Peter Hemmings), Systems and Communications led by Eric Thomas and SUS/ Applications led by Julian Gallop. Julian is in charge of CBP support and development, and graphics and text processing on Multi User Minis also. Members of the CB team are:
Since January 1986 the CB Support arrangements have been to ring RAL Service Line (x6389) during working hours with problems. This has given users a chance to report problems earlier in the day and shortened the time taken to report any hardware faults to ICL. Any software problems are passed on the Common Base Support Desk which is open for 3 hours each working day. Better support for both machines in the Common Base, Perq and Sun, has been achieved this way.
Connections to Wide Area Networks (WANS) have been a problem for a long time. Three solutions are possible:
So what is happening in LANs? CBP now supports Ethernet based LANs. The Cambridge Ring is no longer supported. There are many ways to provide communications over Ethernet. The problem is to choose the right one. There are some hurdles to overcome: coexistence of different manufacturers machines on the same Ethernet is one. If anyone has this problem we would like to hear about it The ISO protocols will be used so that the coloured book services can be provided on top of them. It has the advantage of being a standard and having the backing of a large company (TP4/LLCl is used by the MAPP project funded by General Motors). On top of this there will be a distributed file system. The options are NFS (already on Suns and others), Newcastle Connection over UDP or LLC1 (a problem of two low level protocols that should communicate, but do not do so) and possibly RFS (it is still on the horizon). There is the question whether to have remote paging?
At present we have NFS on the Sun and Newcastle Connection over LLC1 on the Perq. In the next six months (to be taken with a pinch of salt) the plan is to implement the Coloured Books with ISO class 4 over LLC1 on Perq, Sun and Vax 4.2BSD. Also to have NFS on the Vax as well as the Sun and to put Newcastle Connection on several machines over UDP and LLC1.
Software for Common Base Machines is classified in four groups:
At present there are 130 Perq 1 (of which 100 are now maintained), 70 Perq 2, 60 Sun2 (funded mainly by Alvey) and 80 Sun3 (funded by Alvey and SERC). Only Sun3s are being purchased at the moment. All these machines will be supported for their grant lifetime. The Perq1s will not be maintained by us when their grants expire but they will get copies of PNX SR.
Looking to the future for CB Hardware, assessments of servers, low cost workstations (LCWs) and high performance workstations are being made. The goal for servers and LCWs is to maximize the facilities for the user on the money available. Sharing of facilities will take place where possible. For example discs (for paging, dumping and storage), WAN connections, and printers can be shared. Paging servers (like the Sun) will be looked at, not compute servers. We are investigating servers of this type, but actual purchase this financial year depends on funding.
SUS machines are too expensive (perq2 £25k, Sun3 £30k with sufficient disc, £10k discless). We have to decide what we are willing to compromise on when looking at LCWs. Software and communications interfaces are vital, especially validated software. Resolution of the screen, size and speed, and capacity all need bearable thresholds defined. We will also look at the ergonomics of the machines. They will be Unix based, either System V or 4.2BSD.
Finally Julian proposed that as there are more than one machine range in the Common Base the meeting should decide whether to have a User meeting for each machine range or to have one user meeting for all Common Base users with some machine specific talks in parallel but having joint talks on overall strategy and applications. This was discussed at the question and answer session.
Questions that followed:
The tools described were created under a grant whereby the University of Kent acts as a software tools centre for the SERC Common Base Program. Some of the tools replace existing non graphical UNIX tools, others put a graphical interface on an existing tool. The aim is to exploit the graphics of a workstation. There are general purpose tools, for example minit, vdiff, fs and view. Also tools for software developers like ups and the menu package. Fortran tools have been ported to the Perq (various numerical libraries), TOOLPACK has been mounted with graphical interfaces to some of its tools.
The tools were then described in detail. Examples of the tools appearance on the screen are in an appendix of this report
minit is a window manager with a history mechanism. It takes a different approach to command submission, all text-entered commands are entered in the window manager window and saved in a history list. A command in the history list can be resubmitted (perhaps in a different window) simply by pointing at it with the puck. minit also provides command line editing with the puck, thus changes can be make anywhere in the command line. The history list can be saved for use in a later session. minit also provides all the window management functions of winit.
vdiff is a graphical front end for diff. It is an example of how to add a graphical front end to an existing UNIX tool. Diff is useful for comparing files, but its output is hard to read. vdiff reads this output and produces a display of the files side by side, with the differences highlighted. The user can scroll the displayed files up or down. They can also scroll left and right to see all of the longer lines on an A4 screen.
view is an intelligent file browser. It has the speed of cat with some of the facilities of spy. View tries to determine a file's type (text, font, cursor, object etc) and to display the contents of the file intelligently. A window on the flies is displayed which can scrolled horizontally or vertically with the puck. View can be used to watch growing (or shrinking!) files. It can be used in conjunction with fs.
fs is a screen editor for the file system. Files are displayed as editable objects. On the screen indentations is used to show the directory structure. Directories can be expanded to show their contents, and collapsed to hide them. Thus you can wander around the directory hierarchy. All of the commands in fs operate in the same way:
ups is a graphical run time and postmortem debugger for C and FORTRAN programs. No typed commands are used, interaction is by selecting commands from the menu or editing displayed fields. The program being debugged (the target) runs in its own window, so program and debugger output do not interfere. When the target stops, ups displays a stack trace (a list of functions defining where the target has stopped). The users can then select any of the displayed functions and expand it to show the values of its arguments and local variables. The source of the program can be viewed in a spy-like window separately as well. An example of a C program and Fortran program were given. C structures, linked lists and F77 2 dimensional arrays can be displayed. Sadly FORT object files do not have enough information to give array dimensions and other details.
Menus are the standard method of user interaction for applications on graphical workstations. The design of the menu is an important factor in the user interface of a program, and in the appearance of the display. The best way to design effective menus is by experiment. So it is useful to change menus easily. Menus are not trivial to implement, especially if they are hierarchical or use popup submenus. So a need for the menu editor and the menu library was seen.
The menu package consists of the menu editor med, and a set of library routines to use the menus created with the editor. Library routines are provided to read in menus created with med, to display them and to make selections from them. The menu package provides static and popup menus, various forms of highlighting, dynamically alterable captions and multiple fonts. All the Kent software tools use the menu package for their menus. An example of med was given showing how to add a box to a menu and make a sub menu like search on spy. Different fonts can be used. The return values for the menu selection can also be defined. The menu description is written to a file. This can be read by a program if you are still experimenting (saving compilation time) and when you are happy with it, it can be included in the program to save execution time.
Finally Mark described the FORTRAN tools.
Several linear algebra libraries were ported to the Perq including BLAS, UNPACK, SPARSPAK, LANCZOS and YALE. TOOLPACK was ported to the Perq. A graphical post processor for the TOOLPACK profiler and a graphical version of the TOOLPACK formatter options tool are also available. Examples of these are in the first appendix.
The demonstrations were:
Bryan uses Single User Systems as tools to do applications programming for research and development into Finite Element Analysis. He uses the Perq to develop programs specifically for SUSs and to develop programs that will eventually run on other machines as the development environment is good on the Perq. Most of the Finite Element work has been in processing data for 2D structures. 3D structure representation would be better so they are working towards that.
One of his projects on the Perq is a program which solves potential Finite Element problems. The program is called "apple". This is useful in electromagnetics, electrostatics, structural analysis and many other areas. He is experimenting with man machine interfaces and graphics as aids to the user who is trying to solve problems. The first work was about 4 years ago on POS using Pascal. When PNX came he used sed to help translate the programs to F77 and wrote a C interface to access the graphics primitives from F77. Algorithms for automatic meshing were incorporated and the boundary algorithms were improved. Recently the code has been extensively rewritten to improve the speed of execution of the code and the readability of the source. Better graphical display of data was incorporated. They have also written a 2D stress analysis program.
Software development was easier on the Perq than on a mainframe as the results of the program were graphical so debugging is more obvious. Spy was a useful tool.
Apple is free to academics. Commercial users have to pay for it. Contact Bryan direct for more details.
Bryan explained how they would extend the 2D meshing to 3D in apple. This is very complicated. He uses Delaunay's Lemma to calculate the mesh in 3D. Part of the mesh can be written out to a file at any time so it can be displayed separately and a few points examined.
SUS graphics enabled the models to be drawn faster and easier. A wire frame model program written about 2 years ago was adapted for present needs on the Perq. It did zoom, rotate and shift on the model. The biggest improvement to Perq is the FORT compiler as its compilation time is a lot faster. There are a few bugs in the optimising option. Bryan has a HP Laserjet printer attached to the Perq to produce high quality output and screendumps.
Tony addressed this question by talking about the Window Manager (WM) project in MMI section; its history, goals, the work and its current state.
The current work has developed from the original workstations and CBP systems development work with ICL. The aim was to have GKS input types implementable on the window manager software interface without significant degradation of response time. The WM user interface was also looked at later to see how it could be improved. The Spy editor was developed as a testbed for ideas on interaction techniques which were then included in the WW graphics library. The use of WW with spy led to WW becoming the toolkit for spy-like programs. Examples of programs exploiting WW are a clock on which the time and date can be modified using the puck, a continuous graphical ps, and a control panel for puftp.
The proposal for a Window Management project was first written in 1982 and accepted in 1983 but there was no money available from SERC at the time. It was then submitted to Alvey with no response until the MMI directorate was prompted by other Alvey directorates to produce some guidelines on Window Managers as it was essential to their work. So in April 1985 a Window Management Workshop was convened. The proceedings are published in Methodology of Window Management: Hopgood et al. eds. Published by Springer Verlag, 1986, in the Eurographics Seminar Series. Then funding was made available for work to begin on specifying interfaces to Window Management functions.
The context of the work is that applications need supportive toolkits and they need to be portable. Also new workstations need applications to be available quickly. All WMs are very different and toolkits are tied to the WM and often are proprietary. At present graphics standards are inadequate (at least current implementations are; they are slow on workstations in current active user and do not provide sufficiently responsive interaction). In short there is no single toolkit, User Interface (VI) Management System or graphics package that is suitable for all applications.
There are some standards in preparation for Window Management. ANSI is not expected to report before 1989, but MIT has the Athena project (the X window manager), IBM has Topview and PC/RT, the MAC has windows, and GEM is offered by Digital Research. ANSI may be optimistic; GKS took seven years to become a standard. MIT is public domain, free, portable and network transparent if you have the correct protocols. But the latency of I/O is not fast enough. IBMs Topview is text only. PC/RT's manager allows multiple windows but you can only see one at a time. GEM is tied to MS/DOS. The MAC and GEM are geared to a single process environment not a multi-process one. So the future is not too bright.
A solution to the problem is to design an interface that separates the toolkit from the window system. This is called the Client Server Interface (CSI). This means the toolkit may have to be ported with the application. This method is used by MIT.
The project in MMI section is simply to specify the CSI. The goals are flexibility of having different toolkits, performance (otherwise the WM won't be used), high throughput and low latency, display independence/adaptability. All user interface choices should be left open so the VI or Layout Manager can determine them as client's of the WM. It is more difficult for the program to specify what to do if we need to know the properties of menus etc. Tiling vs. overlapping, window properties, control objects, access rights and protection should all be left open to the clients decision.
The CSI does not provide windows. It does provide the building blocks for windows: a hierarchy of viewports mapped to images which are mapped to the display. Input events are passed via viewports onto queues. The hierarchy provides inheritance of position, rank, colour, depth and input properties (event masks, cursor shape) between viewports. The Layout Manager is a client of the CSI. It can take events from the background and the title bars. Typing goes to the tty or application processes. Clients may associate viewports with queues at will. The whole idea is founded on the premise that viewports and low level (pixel oriented) I/O are cheap.
The state of the project is that the CSI is having a final review with manufacturers. Next it will be circulated to the user community for comment. Emulations on the Perq and Sun are starting to be designed to test portability. Porting WW to the CSI will be done later as we need it to port our code. Discussions about the CSI on other UK machines are being encouraged by Alvey. We are looking for major applications to port to it so more people can get involved and so the concepts will be exercised in real situations.
The panel were
Initials of the panel have been attached to replies to questions.
Name Institution J Bovey Kent B Brough ICL Mrs M Bullen QMC Mr Cardew Sheffield D Chiu QMC B Colyer R24 5 - RAL T Conway R1 -RAL R Cooper Glasgow Mr Datardina NAG A Dearle St Andrews C Downes Salford G Ellis Aberdeen J Gallop R1 - RAL D Gibson R1 - RAL S Guest Loughborough Mr Hadjicostas QMC K Hartley R1 - RAL P Hemmings R1 - RAL B Kay UCL P Kent R1 - RAL Mr Lai QMC K M Lewis R32 - RAL J Malone R1 - RAL Prof McGreavy Leeds University R Morrison St Andrews M Prime R1 - RAL B Read R27 - RAL G Reynolds East Anglia D Rickets Oxford Univ K Robinson R1 - RAL M Russell Kent A Sherwood North Staffs Poly J Steel QMC J Stewart Southampton R Stroud Newcastle J Tierney Liverpool Dr Visvalingam Hull Univ Dr Wait Liverpool T Watson R1 - RAL