We have executed various programs on converting Legacy systems to modern technology. This involves web application, middleware, Batch processing systems and Reporting platforms. Procedurally, this involves looking at the legacy technology stack, code base; analyze the logic written in the code base, version of the softwares installed, OS platform version (reverse Engineering) and move to forward engineer into new technologies.
An OS based engine (Unix, perl, Python) will ru against all the platform where the tools and code base is running. The data mined from the code base will be represented in a raw extract in form os a flat/csv file. This will then be inserted into a MetaModel to be interpreted by the Technical/Business Analyst, Modeler and Architects.
The MetaModel will hold information related to all the platforms, tools running on the platform, version, number of files (# line of code), dependency with other platforms, high level components/objects used in the code base. This can be extended to build lineage between the platform, code base and objects; list of softwares, versions; number of users accessing the platform.