Title of Invention

AN APPARATUS FOR MIGRATION AND CONVERSION OF SOFTWARE CODE FROM ANY SOURCE PLATFORM TO ANY TARGET PLATFORM

Abstract An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform that migrates and/or converts any source application working on any platform into a format of any target platform comprises of: An inputting means for accepting the entire source code of sample part in ASCII to analyse the business logic of the source application, obtaining Ul (User lnterface)/GUI (Graphical User Interface) details of the source and target application, also receiving validation schemes of source front-end interface, obtaining the definitions of the target back-end system, the existing test scripts to facilitate the quality control phase of the generated code, the source code entry points to business processes, target environment specification or definitions which includes target platform(s),languages to be used, target database, coding standards, target architecture and framework, third party components, existing applications which have to be plugged with target application, and sample code for the application working in the target environment (if available); An analysing means for analysing the source schemes provided by the client to create target schemes, analysing the business logic in the source application to create workflow diagrams that represent the source application processes, identifying the code segments in ttie source application and analysing the target to generate the target architecture and the technology associated with it; A setting up means for generating custom knowledge base where the existing KB is reviewed for particular migration and in case of no such KB exist, a custom KB is created; A processing means for conversion of source code in format of target specification wherein the complete source code is passed through a knowledge engine on the basis of iteration and during this time the knowledge engine remains coupled to the knowledge base for conversion of source code in format of target specifications; and after each iteration the knowledge base is updated which leads to speedy and better conversion of source code as the Custom KB has now more structured information of source platform and source application with respect to target platform and target specifications; and A documenting means for generation of reports during review of the process stage and a summary report after the end of the conversion process, which consists of the code that is not converted automatically. This unconverted code is then converted manually at applicants Resource Centre.
Full Text FORM-2
THE PATENTS ACT, 1970
COMPLETE SPECIFICATION: SECTION - 10
" AN APPARATUS FOR
MIGRATION AND CONVERSION OF SOFTWARE CODE FROM
ANY SOURCE PLATFORM TO ANY TARGET PLATFORM"
EVOLVE WARE INFORMATION TECHNOLOGY (INDIA) PVT. LTD. F-102, RIveresa Complex, S/287. Baner Road, Baner,
Pune -411 045, Maharashtra State, India.
The following specification particularly describes and ascertains the nature of this invention and manner in which it is to be performed :-

This invention relates to 'An Apparatus to create automation tools for migration and conversion of software code from any source platform to any target platform'. More particularly this invention relates to an apparatus for migration and conversion of software code using a knowledge engine to identify the source application systematically and logically and to convert the same logic and database to any target application using target specific knowledge base.
The existing systems for migration and conversion of software have lots of drawbacks in various areas such as application, limitations on conversion weighting, limited compatibility, etc. Such as,
• Currently, the existing system for migration or updation of any legacy application developed, using a known technology is achieved manually. Hence, the amount of time spent and the cost invested for the same are very high.
• Moreover, there is no specific tool available to migrate and/or upgrade any application. There may be an individual tool for each such conversion.
• For each and every source application if such a tool/service exists then that has to be purchased individually, which makes the migration very costly.
• For each migration as it is a new process in existing system conversion time will have no effect of previous conversion processes. Whereas in applicant's invention, more the iterations, the higher is the quality & speed of conversion that is achieved due to the applicant's invention being a Knowledge based system.

Objects of the Invention: -
It is clear from the above explanations that the current systems are very difficult to be reused or reapplied ever/where and there is no unique solution for migration and conversion. So with the motto of making an apparatus, which can migrate and convert any source application of any source platform to any target platform, the inventor has developed a system or technology named 'An APPARATUS FOR MIGRATION AND CONVERSION OF SOFTWARE CODE' by which, conversion and/or migration of any application becomes possible with best results.
The main object of the invention is to make the apparatus for conversion and/or migration of any source application with no limitation of platforms on which the source or target systems are working.
The further object of the invention is to make the apparatus, which uses a knowledge base concept, such that conversion process time decreases as more source applications are processed by the applicant's software tool.
The further object of the invention is to make an apparatus, which will take the possibility of future conversions and/or migrations into account by using a knowledgebase for better and speedy conversions in future.
The further object of the invention is to create effective tools for current and future system migrations, design and development.
The further object of the invention is to reduce the overall development effort by having the tools, which learn from the created knowledge database, automate the migration, design and development processes as much as possible.
The further object of the invention is to segregate and assemble process knowledge and attributes in a structured format to create a knowledge database for future use.

BRIEF DESCRIPTION OF THE DRAWING
FIG-1 shows the blocic diagram of the system
FIG-2 shows the Aided process for migration or enhancement of an application
Descripflon of the System: -
According to the invention an 'Apparatus for Migration and Conversion of Software Code from Any Source Platfornn to Any Target Platform' migrates and/or converts any source application working on any platform into a format that any target platform comprises of.
An Inputting means for accepting the entire source code in ASCII format to analyse the business logic of the source application, Ul (User lnterface)/GUi (Graphical User Interface) details of the source and target application, validation schemes of source front-end interface, definitions of the target back-end system, existing test scripts to facilitate the quality control phase of the generated code, the source code entry points to business processes and target environment specification or definitions which include target platform(s),languages to be used, target database, coding standards, target architecture and framework, third party components, details of existing applications which have to be plugged into the target application and sample code of the application working in target environment (if available);
An Analysing means for analysing the source schemes provided by client to create target schemas, analysing the workflow diagrams that represent the source application process, identifying the code segments in source application and analysing the target requirements that will generate the target architecture and the technology associated with it;


A Setting up means for generating custom knowledge base where the existing KB is reviewed for particular migration and in case no such KB exists, a custom KB is created;
A Processing means for conversion of source code into format of target specification wherein complete source code is passed through a knowledge engine on the basis of multiple iterations and during this time the knowledge engine remains coupled to the knowledge base for conversion of source code into format of target specification. After each iteration the knowledge base is updated which results in speedy and better conversion of source code as the Custom KB gets more structured with respect to source platform, source application, target platform and target application; and
A Documenting means for generation of reports related to process stage and end of conversion process. This consists of the code that is not converted automatically, the reasons for the non-conversion and suggestions on how the unconverted code can be converted manually at applicants Resource Centre.
The system is divided into two main parts: -
1. Knowledge Base, which is herein after referred as 'KB'
2. Knowledge Engine, which is herein after referred as 'KE'
Knowledge Base: - The custom KB as shown block M in fig. 1 consists of a relational database that consists of source and target code patterns and attributes. The custom KB (block M) resembles and consolidates the source and target language syntax, control structure and programming style. The structure of the custom KB (block M) is decided on the basis of format of source and target application. The custom KB (block M) is updated after every iteration by 'KE', which increases the rate of automatic conversion.
The KB can be accessed by standard ODBC (Object Data Base Connectivity) connection or through disk I/O (Input/Output)

operations. The KB may also involve an interface layer that will allow the KE to connect to it remotely.
Knowledge Engine: - The KE shown as block N in fig. 1 is a processing unit which allows the input code to be intercepted, interpreted and converted into target output code. It automates code migration and enhancements, allowing for many different design and development options.
To extract the business logic from the source application it does the following functions:
• Intercept the input code based on defined syntax in the custom KB (block M).
• Interpret the source code using fuzzy logic routines.
• Parse input code, segregate code blocks and convert them into intermediate or target specific format using custom KB (block M]
• Marks the unconverted or ignored blocks and sentences of the source code and stores them in the custom KB (block M) for future use.
In case of migration of a data driven system the KE will work as follows:-
• Interpret database schemes and data file formats.
• Generate KB (block M) segment - thereby creating data dictionary definitions.
• interpret source code, parse it and convert it into target specific code with the help of data dictionary definitions generated in the previous step.
• Marks the unconverted or ignored blocks and sentences of the source code and stores them in the custom KB (block M) for future use.
• Repeat the above process for arriving at the final code thereby involving intermediate processes.

IN BLOCKS
inputs a, b, c, d and e represent the input code components. These components are the input files that are divided based on Program Logic Code, User Interface, Data Dictionary, Validation, Associated Program Logic files or Data Definition files. The user performs this task.
IN BLOCK ' T ' F IS Code validation stage. Here the KE determines if all the required input files are available for processing
IN BLOCK U
N IS This is the Knowledge Engine (KE) component of the S2T
Technology. This component is the primary processing module that
processes the input code
M is the Knowledge Base (KB) component of the S2T
Technology that stores patterns and discovered data.
L symbol represents the "iterative process" by which
input code is iteratively processed by KE.
O component is logical extension of the KE and is used to package the output code generated by KE.
IN BLOCK V
Q block represents the target code generated by the tool as well as the Summary Report documenting the entire conversion process.
P block represents the ignored or un-converted source code. The ignored code is fed back into the KB after verification to. determine new patterns, which the user will insert into the KB through the KB configuration process

Working of the System: -
The working of the invention is briefly explained with the help of drawings as under.
When any source application is required to be converted and/or migrated to a target specific format then procedure will be as described under: -
The first stage named 'Input Stage' is shown in fig 1 as block S for migration or conversion process. This stage includes receiving the source application to analyse it systematically and logically. It also includes defining the architecture of the target application.
After completing this task, either an existing library is refined or a new library custom KB ( block M) is created to fulfil the requirements of the source and target application as closely as possible.
These following inputs are received at the Input Stage:
1. The entire source code of sample part in ASCII (American Standard Code for Information Interchange), shown as 'a' is received so it can be analysed to understand the business logic of the source application, upon which custom KB (block M) is defined i.e. created or updated.
2. The Ul (User lnterface)/GUI (Graphical User Interface) details of the source application are received and the Ul details of the target application are defined. This is shown as 'b'. For an effective conversion, validation schemes of source front-end interface are also received into this stage.
3. The definitions of the target system database shown as 'c' in the figure are obtained. For a relational target database the scheme formats may be in SQL (Structure Query Language) or, for mainframe computers, in fragments of the flat file database with copybook structure in ASCII format.

4. If there already exists test scripts shown as 'd' in the figure, they are received and used to facilitate the quality control phase of the generated target code.
5. It is necessar/ to determine the source code entr/ points to business processes shown as 'e'. In some cases details provided by the Ul may be sufficient to decide the entr/ points. If not, the user is asked to specify the entry points.
6. The target environment specification or definitions are defined, including
Target platform (s) Languages to be used Target database Coding standards Target architecture and framework Third party components
Existing applications which have to be plugged with target application • Sample code for the application working in target environment (if available)
The second stage is the Analysis Stage, which is shown as block T in the figure in which the source code is analysed for conversion. In this stage, first the database analysis is done in which the source schemas provided by client is analysed to create target schemes. Then the business analysis is done in which workflow diagrams that represent the source application processes are obtained. This analysis is used In generating the custom KB (block Mj. The last process of this stage is target analysis that generates the target architecture and the technology associated with it, which are added to the target application segment of the custom KB (block M).
The third stage is 'Setup Stage' shown as block U in which generation of custom KB (block M) takes place. First the existing KB

(block M), is reviewed for particular migration. In case of no such KB (block M) exists, a custom KB (block M) is created as follows:
The selected parts of sample code 'a', Ul 'b' and database (back-end schemes) 'c' are introduced to KE (block N). The formulation done by KE (block N) on 'a', 'b' and 'c' form the base for the target requirements in the custom KB (block M}. Through an iterative process shown as 'L', in which the selected source code fragment is passed multiple times through to KE (block N), knowledge patterns are collected. This process continues until the KE (block N) gets the signal for saturation from the KB (block M). In case of test scripts provided by the client, they are' passed through KE (block N) also; otherwise the test scripts created by the KE (block N) itself.
In the next stage called 'Process Stage' shown as block U, the complete source code is passed through the KE (block N) on the basis of iteration. During this time the KE (block N) is coupled to the Custom KB (block M) for conversion of source code in the format of target specifications. After each iteration. Custom KB (block M) is updated which leads to speedy and better conversion of source code as the Custom KB (block M) has now more structured information of source platform and source application with respect to target platform and target application.
The last stage is the documentation stage shown as block V, in which the reports generated during process stage are reviewed. After the conversion process a sum mar/ report shown as P is generated, which consists of the code that is not converted (block O) automatically. This unconverted code is then converted manually at applicants Resource Centre. However, by this stage applicant has achieved 70 to 90% automatic conversion. In this stage two other processes are also performed namely:
• Target Database Verification, which includes verifying the
converted database and the data dictionar/ with respect to
the source scheme.

Target Application Verification, which includes verifying the converted application and its program links with respect to the source code process flow during the Analysis Stage (block S)
The description of the system given above is given only to understand the invention rather than to limit its scope.
WE CLAIM:-
1. An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform that migrates and/or converts any source application working on any platform into a format of any target platform comprises of:
An inputting means for accepting the entire source code of sample part in ASCII to analyse the business logic of the source application, obtaining Ul (User lnterface)/GUI (Graphical User Interface) details of the source and target application, also receiving validation schemes of source front-end interface, obtaining the definitions of the target back-end system, the existing test scripts to facilitate the quality control phase of the generated code, the source code entry points to business processes, target environment specification or definitions which includes target platform(s),languages to be used, target database, coding standards, target architecture and framework, third party components, existing applications which have to be plugged with target application, and sample code for the application working in the target environment (if available);
An analysing means for analysing the source schemes provided by the client to create target schemes, analysing the business logic in the source application to create workflow diagrams that represent the source application processes, identifying the code segments in

ttie source application and analysing the target to generate the target architecture and the technology associated with it;
A setting up means for generating custom knowledge base where the existing KB is reviewed for particular migration and in case of no such KB exist, a custom KB is created;
A processing means for conversion of source code in format of target specification wherein the complete source code is passed through a knowledge engine on the basis of iteration and during this time the knowledge engine remains coupled to the knowledge base for conversion of source code in format of target specifications; and after each iteration the knowledge base is updated which leads to speedy and better conversion of source code as the Custom KB has now more structured information of source platform and source application with respect to target platform and target specifications; and
A documenting means for generation of reports during review of the process stage and a summary report after the end of the conversion process, which consists of the code that is not converted automatically. This unconverted code is then converted manually at applicants Resource Centre.
2. An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform as claimed in claim 1 wherein a 'Knowledge Base Database (KB)' is provided for understanding the source application and source platform, as well as the target specifications and target platform.
3. An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform as claimed in any of the preceding claims wherein a 'Knowledge Engine (KE)' is


provided to extract thie business logic and database (back-end) schema of the source application systematically and logically and to convert it into the format specified for the target application.
4. An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform as claimed in any of the preceding claims wherein the 'Knowledge Database' is updated after each iteration by 'KE' to provide wider knowledge of source application during the conversion process, leading to speedy and better future conversions.
5. An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform as claimed in any of the preceding claims wherein a report is generated after conversion, which consist of, the unconverted source code by the automatic migration process.
6. An Apparatus For Migration And Conversion Of Software Code From Any Source Platform To Any Target Platform as claimed in any of the preceding claims that learns from the iterations completed by 'Knowledge Database' which increases the rate of automatic migration in next iteration.
7. An Apparatus for Migration and Conversion of Software Code from Any Source Platform to Any Target Platform as herein described and illustrated in the figures of the accompanying drawings.
Dated this 28th day of August,2003.

Documents:

885-mum-2003-cancelled page(01-12-2004).pdf

885-mum-2003-claims(granted)-(01-12-2004).doc

885-mum-2003-claims(granted)-(01-12-2004).pdf

885-mum-2003-correspondence(01-12-2004).pdf

885-mum-2003-correspondence(ipo)-(09-04-2007).pdf

885-mum-2003-drawing(01-12-2004).pdf

885-mum-2003-form 1(01-12-2004).pdf

885-mum-2003-form 1(02-09-2003).pdf

885-mum-2003-form 19(24-06-2004).pdf

885-mum-2003-form 2(granted)-(01-12-2004).doc

885-mum-2003-form 2(granted)-(01-12-2004).pdf

885-mum-2003-form 26(02-09-2003).pdf

885-mum-2003-form 3(02-09-2003).pdf

885-mum-2003-form 5(02-09-2003).pdf

885-mum-2003-form 5(29-12-2003).pdf

abstract1.jpg


Patent Number 205730
Indian Patent Application Number 885/MUM/2003
PG Journal Number 42/2008
Publication Date 17-Oct-2008
Grant Date 09-Apr-2007
Date of Filing 15-Dec-2003
Name of Patentee EVOLVEWARE INFORMATION TECHNIOLOGY (INDIA) PVT. LTD.
Applicant Address F-102, RIVIRESA COMPLEX, S/287, BANER ROAD, BANER, PUNE-411 045, MAHARASHTRA STATE,
Inventors:
# Inventor's Name Inventor's Address
1 MITEN M. MARFARHIA C/O EVOLVEWARE INFORMATION TECHNIOLOGY (INDIA) PVT. LTD., F-102, RIVIRESA COMPLEX, S/287, BANER ROAD, BANER, PUNE-411 045, MAHARASHTRA STATE,
2 AJAY M. RAMBHIA C/O. EVOLVEWARE INFORMATION TECHNIOLOGY(INDIA) PVT. LTD., F-102, RIVIRESA COMPLEX, S/287, BANER ROAD, BANER, PUNE-411 045.
PCT International Classification Number G06F 3/00
PCT International Application Number N/A
PCT International Filing date
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 NA