The significance of the EASE Software Environment cannot be over-emphasised and it will be the subject of important activity in the months to come. Everyone is encouraged to contribute towards this facility. See the details in the article below.
This newsletter is sent to 5000 readers! In order to ensure that you receive your copy. please spare a few minutes to complete and return the enclosed postcard. Thank you.
Various EASE workshops and the interviews carried out during the visits made by EASE staff to Higher Education Institutes have shown that what you, the user community, want from an environment are tools and packages to make writing good quality software easier and less prone to error.
During the past few months a small working party has been looking at what you have asked for and preparing detailed proposals. These were accepted by the Computing Facilities Technical Advisory Group (CFTAG) in June and approved by the Computing Facilities Committee (CFC) in September.
This article gives an indication of our current ideas. The next issue of this newsletter will explore specific areas in more detail. In January we intend to hold a workshop where you will have the opportunity to discuss what has been done so far and to influence the choice of future directions. EASE 91 will have presentations and tutorials on the practicalities of such an environment and hopefully a demonstration of it in practice. Look out for further information in future issues of this newsletter.
The model of an environment for engineering applications adopted is one where the applications will share and exchange engineering data through a standard database and are linked together at the user level by a working environment based on direct manipulation of objects and a relatively uniform look and feel of the user interface to engineering applications. In between will be a variety of useful tools and subroutine libraries. The diagram gives a graphical representation of this model.
The proposals consist of a number of rather general policy decisions and plans for the key strands which will make up the environment. First the policy decisions:
It is not possible in this article to go into detail about any particular area and, in any case, ideas are being refined by the leaders of each sub-project. The following gives some idea of what is intended and for whom.
The target audience is the engineer who wishes to develop a new application or modify an old application so that it takes advantage of new technology - both hardware and software. We have in mind that a significant proportion of potential users may be moving towards workstations and Unix Tm from other computing environments. One objective is therefore to make this transition easier by providing a run-time environment which gives access to built-in applications and standard Unix features whilst allowing its behaviour to be tailored to the needs of individuals and new applications to be added easily. The X.Desktop product from IXI is currently being investigated. This may provide user-level linkage of all parts of the environment.
We recognise the importance of providing a mechanism for applications to read and write data to a database for storage and use by other applications. Work at RAL on the STEP standard and in particular the use of Express as data modelling language convinces us that this is now practicable. Data schemas will be created for many types of engineering data and guidelines produced to show how these can be adapted to other types of data. It should be possible to provide an interface which will allow any SQL-conformant database management systems to be used to store the data.
We believe that it is possible to provide tools to help programmers use their existing programming methods more effectively and also, ever so gently, to encourage the more widespread use of improved methods. We are keeping very firmly in mind that even the best methods and tools will only be accepted and hence have any impact if they meet the needs of their users.
The environment will also contain libraries, tools and packages which will be of general use in building applications, including graphics libraries at various levels, tools for building X Windows application clients, and a variety of general scientific and engineering libraries. It will also include tools for building Help systems, documentation aids, a user-interface design environment and a visualisation package.
It has been decided that considerable importance will be attached to demonstrators. These will give us the early opportunity to try out our ideas on real engineering problems and, perhaps more importantly, on real engineers. Assuming these are successful, they will also be valuable as a way of spreading the message to the wider community. In the first instance four projects are being sought, at least one of which will be a completely new application.
Much work needs to be done to finalise our ideas and to start the deliverables flowing. Watch this space for further information.
At the NAG Users Association Annual Meeting in Glasgow on 12-14 September 1990, NAG! announced a new product, the Interface between REDUCE and the NAG Fortran Library, known as IRENA. IRENA provides a marriage between the previously disparate subjects of computer algebra and numerical computation, by permitting the REDUCE user to call practically any NAG routine from his interactive REDUCE session and have the results returned to his terminal.
Apart from its obvious attraction to the existing REDUCE user, NAG feels that IRENA provides a general interactive version of the NAG Fortran Library, which should make the Library more attractive to its users. IRENA actually writes the necessary Fortran caller and any sub-programs required, automatically handling the declaration of workspace variables and arrays, providing defaults for many of the algorithmic parameters and checking the IFAIL error indicator afterwards. IRENA can also be used in a prompting mode, where the REDUCE system prompts for all the required parameters.
IRENA was developed jointly by NAG and the University of Bath.
In outline, IRENA works by using the REDUCE GENTRAN package to generate a Fortran program for the user's problem. It runs this program and makes its outputs available to the user. As REDUCE is an interactive package, this provides an interactive front end to the NAG Library. However, IRENA is much more than this. It has been designed to make the use of the NAG Library considerably simpler in a number of ways, which are described below.
The Fortran generated can be accessed by the user. As well as the usual double-precision Fortran, it is possible to generate single-precision Fortran, which may be useful to people with access to Crays or other vector processors.
As an example of IRENA's power and simplicity of use, consider using the NAG routine D01AJF to obtain
The example program for this problem given in the NAG Fortran Library Manual consists of a full page of Fortran. The problem can be solved using IRENA as follows (the REDUCE prompts, 1:,2: etc are followed by user input. All other lines are output by the system):
1: d01ajf(f(x)=x*sin(30*x)/(1 - (x/(2*pi))^2)^O.5, 1: range=[O :2*pi]); {ALlST,BLlST,ELlST,RLlST,ABSERR,INTEGRAL,DIVISIONS} 2: integral; -2.543 25961 89250 59
Five of the main areas of simplification provided by IRENA are described below.
Housekeeping parameters: many NAG routines require parameters which are not logically necessary, but reflect the philosophy of the Fortran programming language. These include:
IRENA automatically generates suitable values for all such parameters and for any other redundant parameters, so the user need not be concerned with them.
An example of an IRENA data structure is the rectangle. In a number of areas, particularly integration and constrained optimisation, a region of interest is defined by a pair of bounds in one or several dimensions. In NAG routines, such a region is usually specified by means of two scalars or two one-dimensional arrays, one containing the lower bounds and the other the upper bounds. In IRENA, these are replaced by a rectangle, which has the form of a list of upper and lower bound pairs. In general, an asterisk is used to indicate unbounded - in the original Fortran routines, various arbitrarily large numbers are used for this purpose.
In the following example, which mimics the standard NAG example for the routine E04JAF, the function f is to be minimised, subject to the bounds:
1 ≤ w ≤ 3 -2 ≤ x ≤ 0 -¥ < y < ¥ 1 ≤ z ≤ 3
This example also shows IRENA interpreting an error exit from the NAG routine.
3: e04jaf(f(w,x,y,z)=(w + 10*x)^2 + 5*(y - z)^2 + 3: (x - 2*y)^4 + 10*(w - z)^4, 3: bounds=[1:3,-2:0,*:*,1 :3], vec start {3,-1 ,0,1 })$ ** ABNORMAL EXIT from NAG Library routine E04JAF: IFAIL = 5 ** NAG soft failure - control returned There is some doubt about whether the point X found by //E04JAF// is a minimum. The degree of confidence in the result decreases as IFAIL increases. Thus, when IFAIL = 5 it is probable that the final X gives a good estimate of the position of a minimum, but when IFAIL = 8 it is very unlikely that the routine has found a minimum. {LOCATION,VALUE} 4: value; 2.433 78751 21207 32 5: location; [ 1.0 ] [ ] [ - 0.085232589941107 ] [ ] [0.409 30359 11920 145 ] [ ] [ 1.0 ]
This example also illustrates another feature of IRENA, the use of consistent, meaningful names throughout the system. For instance, in all routines where a point is sought at which a function has some property, such as a minimum, the location of the point is called location and the value of the function is called value.
Initially, IRENA will be available only on Sun-3 and Sun-4 workstations. The first release of the product is expected to be commercially available in the Spring of 1991.
EASE 91 is to be held at the University of Birmingham from 25-27 March 1991. This year's theme is Development Environments for Engineering Applications. The Provisional Programme for this three day event is:
Over the next few editions, the Engineering Computing Newsletter will be giving more information on EASE 91 Tutorials, Seminars and on various aspects of the Exhibition and any other events. This issue contains summaries of two of the Seminar Sessions to be held on the third day of the Conference:-
The Session will start by giving the background to Integrated Project Support Environment (IPSE) technology and outline its limitations. It will then go on to consider the way in which software is typically developed for research purposes in university departments and discuss the role of prototyping in software development. The ideas of process modelling will be introduced and participants will be encouraged to think how it may have a general applicability. The Seminar will conclude with a discussion on potential uses of process modelling ideas in civil engineering.
The Speakers will be:
The environments the subject of this seminar allow greater flexibility in defining the required building description and in selecting appropriate levels of temporal and spatial resolution in both overall and sub-systems analyses. Researchers using computer-based models of building environmental performance may thus be free of both constraints and implicit assumptions. For building designers, these developments will facilitate the integration of computer-based analyses of different aspects of building performance. Many initiatives are underway internationally in this important field. The context of, and features intended for, such environments will be discussed by their developers. Topics to be covered include the Energy Kernel System, the importance of data formats and COMBINE - an initiative towards a European framework for building modelling.
The Speakers will be:
In addition, active demonstrations by university and commercial groups will be given.
The 11th Annual Conference of the Eurographics Association was held in 1990 in Montreux, a pretty Swiss town on the banks of Lake Geneva. Montreux is renowned for jazz and film festivals and for a most attractive six mile walk along the side of the lake. Throughout the walk was a profusion of flowers and trees and a large number of seats. so during the conference one could often find delegates sitting in the sun studying papers or holding discussions. In all a very pleasant location for a conference apart from the noise from road. rail and building workers that seemed to start at the crack of dawn every morning and poured up through my bedroom window on the 13th floor of the hotel. The conference centre itself was being rebuilt and some of the papers had to be presented in small, uncomfortably warm rooms. Over 360 delegates from 27 countries attended the conference this year. The 85 authors presented 13 tutorials, eight state-of-the-art reports, six ESPRIT papers and 50 other papers of which five were by invitation. The tutorials were all one day courses run in parallel over the first two days. the invited speakers had a plenary session to themselves and the state-of-the-art reports were single session lectures run in parallel with the other papers. I thought this was an excellent format as it allowed delegates to study areas that were new to them or to get a general feel for what was happening in other peoples research areas or to study the very latest developments in their own field.
There were seven tutorials on the first day:
I chose the X/PEX tutorial. During the first session on an X Overview I found my attention wavering a bit. I do not know whether it was due to the subject matter or the after effects of those early morning trains and lorries. The second, third and fourth sessions were more lively involving real programs and covering X programming, X toolkits and PEX. The author used a "hello world" programme to demonstrate how using the toolkit could dramatically cut the length of a programme.
There were six tutorials on the second day:
I went to the one on 3D volume visualisation and it turned out to be a real tour de force. Volume visualisation involves using data about the interior of an object as well as its surfaces and edges. One medical example involved a 1000*1000*1000 voxel data set of a human head. A variety of input devices. eg a dataglove, was used to interact with the data. The programme could distinguish between skin, bone and soft tissue so enabling a doctor to "cut away" various parts of the image of the head to examine the interior. Many other examples and applications of the techniques were given in the lecture and in the accompanying videos. Specialist Voxel hardware and the CUBE project were also discussed. As I left the tutorial one colleague said, I could almost get excited about that. I felt that was a typical English understatement!
The following topics were covered in the Technical Programme: Hardware, Algorithms. Standards, Modelling, CAD Applications, Surface Modelling. Theoretical Foundations. Illumination. Editing and Drawing Systems, Rendering and User Interface Management Systems. One of the sessions on Standards. of particular interest to me, included several papers on the Programmer's Hierarchical Interactive Graphics System (PHIGS). W T Hewitt talked about an Interactive Debugger for PHIGS, developed in conjunction with T L J Howard and S Larkin (UK). This forms a component of their emerging PHIGS toolkit. something that is very much needed if PHIGS is to spread beyond specialist graphics programmers and be used by ego engineers. Another paper in this session and winner of the second prize was Factoring a Homogeneous Transformation for a more Efficient Graphics Pipeline by S S Abi-Ezzi and M J Wozny (USA). It describes an algorithm for extracting an intermediate coordinate system, situated between world coordinates and display coordinates, which exhibits unique features for lighting calculations and for clipping in homogeneous coordinates. A particularly strong application of the method is in the processing of curved surface primatives eg in the PHIGS PLUS viewing pipeline.
Third prize went to a paper on Shading and Shadowing with Linear Light Sources by P Poulin and J Amanatides (Canada). The authors compare their technique with the usual one of modelling linear light sources with a series of point light sources. Their formulation is faster at computing the diffuse component of reflected light. They also compare two acceleration schemes for the computationally expensive shadowing of linear light sources. First prize went to a paper entitled, A shadow algorithm for CSG by F W Jansen and A N T van der Zalm (Holland). The paper presented an algorithm for constructing shadow volumes for objects defined with Constructive Solid Geometry (CSG) by calculating a tree of shadow volumes for each primitive solid. These model the shadows generated by the shadow-generating parts of the boundary of the primitive. The shadow of the complete CSG object is then the union of these shadow trees. Instead of performing a complete boundary evaluation, the method only takes the forward facing part, and reduces its size as far as needed for the calculation of the shadow volumes. The shadow volumes only need to be recalculated for object and light source position changes, not for eye point changes.
The exhibition involved three hardware manufacturers, SUN, HP and Silicon Graphics, five publishing houses and seven research laboratories and research organisations. All the stands were well attended, particularly the book stalls which were always filled with browsers. I noticed an interesting new journal on the John Wiley stand on Visualisation and Computer Animation, Visualisation seems to be an in subject this year!
Two social events were induded in the C0nference fees, a reception at Chateau de Chillon, made famous by a poem from Lord Byron, and a dinner at the Holiday Inn at Leysin, a 1263 metre high village in the Canton de Vaud. The reception at Chillon was preceeded by a guided tour of the Chateau. We were shown where the Prisoner of Chillon was kept and where Byron engraved his name in the wall (glassed over to protect this early example of vandalism!). We then had a very pleasant evening standing in the courtyard sampling some of the local wine.
The buses dropped off all the guests more than half an hour earlier than expected for the dinner, which left everyone standing outside until the hotel was ready for us. Luckily the weather was fine, if a little cool, but we soon warmed up with the help of an excellent meal and as much wine as we could drink. The meal was preceded by a talk and slide show of graphic art by Stephanie Sabato. The meal itself was at times accompanied by a Swiss folk band including a yodeller, which was probably quite a novelty for some of the non-Europeans there.
The next in our series of workshops and seminars has been organised for 7 December 1990 at AIAI, Edinburgh. These one day events provide engineers with not just the opportunity to find out more about new products and techniques but also to meet and discuss common requirements with other researchers in their areas.
Engineers are always keen to utilise new techniques and ideas in searching for solutions to their often complex problems. This workshop is designed to expose the researchers to some of the newer techniques now being put into practical use within the engineering community. The topics covered will include genetic algorithms, neural nets and behavioural robotics. Talks will be presented at an introductory level, followed by discussion of their applications within the engineering disciplines.
The provisional programme and booking form are included in a separate insert with this newsletter.
A popular course for academic engineers over the last two years has been our Introduction to Prolog course. This has given engineers their first steps in programming in Prolog. Because of the success of this course we have now introduced an advanced level course. This course aims to teach students Prolog programming beyond the elementary stage and show how the language can be used for programming expert systems. It also introduces constraint logic programming and offers examples of realistic applications and supervised practical work.
The course specifically teaches:
As this is an advanced course, each student should have computer programming experience in Prolog and competence in operating a Unix editor. Places are available on the November course Advanced Prolog, 26-29 November 1990.
The SERC/DTI Initiative in Engineering Applications of Transputers is pleased to announce a sponsorship of the Loan Pool by Acorn Computers Ltd in association with Gnome Computers Ltd.
Acorn Computers Ltd have provided two Archimedes 420 Workstations and an Rl40 Unix workstation. Gnome Computers Ltd have furnished these machines with Transputer Module Mother Boards and software, enabling the Acorn machines to run all the standard transputer systems. Transputer Modules will be provided through the Initiative Loan Pool. Applications should reach me before 20 November 1990.
The conference represents an important forum for the review of progress in this rapidly growing field, and for the identification of current trends and future directions. The programme will include keynote presentations by leading experts, and will span over several parallel sessions of contributed papers. Papers may be presented in either oral or poster form. To reflect the applications flavour submissions are invited from the following non-exclusive list of topics:
The Modelling and Management of Engineering Data Community Club (MMED) has organised a one-day tutorial on Information Modelling to be held at UMIST on 19 December 1990. The tutorial is of an introductory nature, and should appeal to those wishing to learn of information modelling techniques, at no cost!
A wide range of topics will be covered; from entity-relationship modelling, through semantic modelling, to state of the art methodologies and notations in use today. Real-world problems and experiences will be discussed, and there will be an opportunity to learn through experience using the Express language. Software tools designed to aid the information modeller will be described and demonstrated.