20.07.2015 Views

PhD Thesis - staffweb - University of Greenwich

PhD Thesis - staffweb - University of Greenwich

PhD Thesis - staffweb - University of Greenwich

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>PhD</strong> <strong>Thesis</strong> by John Ewer.nature <strong>of</strong> the data access mechanisms that would be imposed by mixed language developmentor the interface to the library routines.2.4.6 Reverse engineering <strong>of</strong> a legacy CFD system back to basic design andre-implement from this designThis process would take a considerable time and is by no means easy. The reverse-engineeringtechniques available [BYRNE91] [BRAND96] to "mine" an existing s<strong>of</strong>tware system for theunderlying design are by no means infallible [BERGEY]. Furthermore it is possible and indeedquite likely that errors will be introduced in the re-design or re-implementation phases <strong>of</strong> reengineering.This technique does have the benefit <strong>of</strong> considerable flexibility in the choice <strong>of</strong>implementation language. As with a new development there is a long time before the newlydeveloped code can be tested against the legacy code behaviour. However the behaviour is moreassured than simply developing a new code from first principles because the design has beenextracted from a working and complete s<strong>of</strong>tware system. Reverse engineering will generallypreserve all <strong>of</strong> the algorithms and empirical methods but may not necessarily preserve an audittrail back to the legacy s<strong>of</strong>tware. This is particularly true if the structure and data architecturehave been drastically altered in the re-design process. It is likely that any updated methods andbug fixes would also have to go through a complete re-engineering and re-implementationprocess in order to be assured <strong>of</strong> functional consistency.2.4.7 Reverse engineering <strong>of</strong> a legacy CFD system and re-implementationusing an incremental approach and imposed data and controlarchitectureThis approach to re-engineering has to make concessions in the design to maintain consistencywith legacy system whilst incrementally re-engineering. One <strong>of</strong> the most important benefits isthat the re-engineered system (and the incremental stages) are never very far from a workingCFD code that can be validated as being algorithmically correct and consistent with solutionbehaviour from the legacy s<strong>of</strong>tware. This gives considerable assurance that the algorithms andempirical methods are preserved during re-engineering. The effort involved is significantly lessthat would be needed for a complete re-engineering re-implementation from a reverse-2-26

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!