Application Modernisation

Engineering Software Solutions

 
   
Home
Services
Projects
Legacy Code
Products
Technology
People
Clients
Contact
 


 
© ESSCo 1998-2008

A project of this nature typically involves moving established code from an older operating system and user-environment to a more modern platform, for example to MS Windows NT4.0 or 95/98. At the same time the code and its architecture are modified to ensure simpler maintenance and improved usability.

A major ongoing project is the re-write and upgrade of the graphical user-interface and underlying data structures and models for the world’s leading risk analysis and consequence modelling software package: PHAST and SAFETI from Det Norske Veritas (DNV) Limited. These applications run under Windows 95/98 and NT 4.0 and combine new C++ and existing FORTRAN models into a thoroughly modern architecture. Embedding the functionality from several sophisticated third party toolkits into a fundamentally well designed class hierarchy built on MFC, the application extends into sophisticated data visualisation tools for graphing and GIS mapping.

Another project required moving a file-driven FORTRAN DOS program to Windows 95. In order to accomplish this effectively we had to have a full understanding of the technicalities of the application so we could properly advise on the user interface and data flows. The project was very cost-effective since we were able to keep much of the calculational FORTRAN code untouched by wrapping it into a C++ MFC architecture. As long as we could guarantee the right numbers going in from our new user interface we knew that the calculations would perform the same as before.

Porting FORTRAN models from UNIX to NT4.0 might sound boring and easy but it is neither. We know because we have done a lot of it, for example on the Neptune project. It required sound experience to make sure we saved our client money by knowing in advance what the pitfalls would be and how to avoid them. Countless hours could have been lost identifying differences in results obtained when running on two different operating systems.