by Chris Greenough
As much a the research community would like to think that Fortran, all be it 77 or 90, is out dated and dying, the reverse it really the truth. The academic community may not be the driving force but there is a continued use of Fortran 77 and an the adoption of Fortran 90 for industrial applications in many areas. This is particularly true in industries that have a long history in numerical simulation in the design process.
It is still the case that the majority of Computation Fluid Dynamics (CFD) programs are written in Fortran 77. Some companies are now converting their `old' Fortran 77 programs to use the new features of Fortran 90. In many of these situations Quality Assurance (QA) has become an important issue. For many this means seeking ISO 9000 or BS 5750 status.
For the academic community the adoption of these formal software quality standards is really appropriate. So over the past few years the CFD Community Club (CFDCC), run by the Rutherford Appleton Laboratory for the Engineering and Physical Sciences Research Council, has been attempting to improve the design, implementation and maintenance of engineering software being developed within the UK academic community. It was clear from contact with academic groups that good software design and implementation methodologies were not being used. CFDCC set about the task of providing the UK community with some practical and pragmatic advice on improving the quality of their Fortran 77 programs.
This activity has three elements:
The Software Quality Workshop has now been run three times to small groups as it contains practical computer base sessions. These have proven very successful. The Workshop contains a series of lectures broken up by practical and demonstration sessions. The lectures include: An Introduction to Software Quality, A Structure Approach to Programming, Static/Dynamic Analysis and Metrics, Testing, Fortran 90, Portability and Software Tools.
The practical part of the Workshop includes the design, implementation and testing of a simple program using the ideas, techniques and tools described in the lectures.
As part of the Workshop participants are encourage to bring some of their own software to be processed by the software tools and to discuss the results with the Workshop lectures.