← Back to Patent Explorer
US6654950B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Software rehosting system and method

Assignee: BAE Systems Information and Electronic Systems Integration Inc
•
Filing: 1999-08-24
•
Granted: 2003-11-25
•
Expires: 2019-08-24
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system, method and computer program for rehosting a legacy application computer program written in one computer program dialect to a target dialect, for porting a control computer program, such as a Test Program, from one hardware platform to another, and for analyzing a computer program and creating a report. The rehost computer program is used to create a translation module in a first dialect which is comprised of a plurality of processed statements that are parsed, formatted and generalized and to store the statements in a searchable tree format. An existing translation module is enhanced by processing a number of programs and adding only unique statements. Each statement in the existing translation module has as a nested array an equivalence in the target language. A legacy program to be rehosted is first parsed and formatted into the same processed statement types as in the translation module and then a look-up is performed on a statement by statement basis to find and store the equivalent statements in the translation module, replacing the generalized elements therein with the actual values in the processed legacy statements. When it is desired to have a report of the statistics of a computer program, that computer program is parsed and formatted into statements, and then the desired information about the statements is processed into a table or even flow chart.

Inventors

  • 👤 Wesley V. Barnishan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 01:41
CPC Classifications
G; G06; G06F; G06F8/00; G06F8/70; G06F8/76; G06F8/20

Claims Analysis

Total Claims: 55
Claim 1
Independent Claim 184 words
A method of rehosting a legacy computer program written in a first computer dialect and having a plurality of known characteristics to a target computer program written in a second computer dialect, said legacy computer program having a plurality of identifiable statements, said method comprising a. Loading the legacy computer program in a general purpose digital computer system; b. Selecting a plurality of formatting options to be applied to the legacy computer program and placing the selected options in a particular order; c. Having said computer system apply said formatting options in order to each statement of the legacy computer program one statement at a time to generate a plurality of parsed, refined statements; d. Providing a translation model to said computer system, said translation model having a plurality of statements in the first dialect and corresponding statements in the second computer dialect; e. Comparing each parsed statement in said refined version with said translation model and for each match found, appending said corresponding statements at the end of a target file; and f. Processing said target file into a rehosted target computer program.
Claim 2
Independent Claim 184 words
A method of rehosting a legacy computer program written in a first computer dialect and having a plurality of known characteristics to a target computer program written in a second computer dialect, said legacy computer program having a plurality of identifiable statements, said method comprising a. Loading the legacy computer program in a general purpose digital computer system; b. Selecting a plurality of formatting options to be applied to the legacy computer program and placing the selected options in a particular order; c. Having said computer system apply said formatting options in order to each statement of the legacy computer program one statement at a time to generate a plurality of parsed, refined statements; d. Providing a translation model to said computer system, said translation model having a plurality of statements in the first dialect and corresponding statements in the second computer dialect; e. Comparing each parsed statement in said refined version with said translation model and for each match found, appending said corresponding statements at the end of a target file; and f. Processing said target file into a rehosted target computer program.
Claim 3
Dependent Claim 38 words
The method as claimed in claim 1 and further comprising the step of reading a file containing characteristics of the legacy computer program, and using those characteristics to parse the legacy computer program into a plurality of components.
Claim 4
Dependent Claim 64 words
The method as claimed in claim 1 wherein said corresponding statements of said translation module in said second computer dialect are in the specifications for a flow chart tool; and further comprising post processing said corresponding statements to specifications of the flow chart tool; providing said post processed statements to the flow chart tool; and having said flow chart tool generate a flow chart.
Claim 5
Independent Claim 191 words
A method of generating a dialect model that is used as a look-up table when building a translation model that in turn is used to translate a source computer program written in a first computer dialect and having a plurality of known characteristics to a target computer program written in a second computer dialect, said source computer program having a plurality of identifiable statements, said method comprising: a. Providing at least a first and a second computer program that are written in said first computer dialect; b. Selecting a plurality of formatting options to be applied to the source computer program and placing the selected options in a particular order; c. Parsing said first computer program into a plurality of parsed statements; d. Applying said formatting options in order one at a time to each parsed statement, one at a time, to generate a plurality of refined statements; e. Comparing each refined statement with previously refined statements to determine if the statement being compared is unique; f. If said refined statement is unique, storing it with previously stored unique statements; g. Repeating steps b through f for the second computer program.
Claim 6
Independent Claim 191 words
A method of generating a dialect model that is used as a look-up table when building a translation model that in turn is used to translate a source computer program written in a first computer dialect and having a plurality of known characteristics to a target computer program written in a second computer dialect, said source computer program having a plurality of identifiable statements, said method comprising: a. Providing at least a first and a second computer program that are written in said first computer dialect; b. Selecting a plurality of formatting options to be applied to the source computer program and placing the selected options in a particular order; c. Parsing said first computer program into a plurality of parsed statements; d. Applying said formatting options in order one at a time to each parsed statement, one at a time, to generate a plurality of refined statements; e. Comparing each refined statement with previously refined statements to determine if the statement being compared is unique; f. If said refined statement is unique, storing it with previously stored unique statements; g. Repeating steps b through f for the second computer program.
Claim 7
Dependent Claim 30 words
The method as claimed in claim 4 and further comprising the step of generalizing each unique refined statement to produce a plurality of generalized statements; and storing said generalized statements.
Claim 8
Dependent Claim 32 words
The method as claimed in claim 5 and further comprising the step of creating a translation model by associating in a tree structure a translated statement corresponding to a selected generalized statement.
Claim 9
Dependent Claim 59 words
The method as claimed in claim 6 and further comprising inserting into said tree structure a flag sub-branch below a branch corresponding to the selected generalized statement to indicate that branches below said flag sub-branch are translations, and inserting at least one sub-branch into said tree structure below said flag sub-branch that contains a translation of the generalized statement.
Claim 10
Dependent Claim 197 words
A computer program stored in a computer-readable memory which directs operation of a computer for rehosting a legacy computer program written in a first computer dialect and having a plurality of known characteristics to a target computer program written in a second computer dialect, the legacy computer program having a plurality of identifiable statements, said stored program comprising: a routine that directs the computer to read a first line of the legacy computer program; a routine that directs the computer to select a translation module having a plurality of individually readable statements in the first computer dialect and corresponding translated statements in the second computer dialect; a routine that directs the computer to select a statement from the legacy computer program; a routine that directs the computer to format the selected statement in accordance with a selected plurality of ordered formatting options; a routine that directs the computer to translate the formatted selected statement into the second computer dialect in accordance with the translation module; and a routine that directs the computer to determine if there are additional statements to be selected and if so to repeat the selecting, formatting and translating routines for the next statement.
Claim 11
Dependent Claim 197 words
A computer program stored in a computer-readable memory which directs operation of a computer for rehosting a legacy computer program written in a first computer dialect and having a plurality of known characteristics to a target computer program written in a second computer dialect, the legacy computer program having a plurality of identifiable statements, said stored program comprising: a routine that directs the computer to read a first line of the legacy computer program; a routine that directs the computer to select a translation module having a plurality of individually readable statements in the first computer dialect and corresponding translated statements in the second computer dialect; a routine that directs the computer to select a statement from the legacy computer program; a routine that directs the computer to format the selected statement in accordance with a selected plurality of ordered formatting options; a routine that directs the computer to translate the formatted selected statement into the second computer dialect in accordance with the translation module; and a routine that directs the computer to determine if there are additional statements to be selected and if so to repeat the selecting, formatting and translating routines for the next statement.
Claim 12
Dependent Claim 31 words
A computer program stored in a computer-readable memory as claimed in claim 8 and further including a routine that directs the computer to append the translated statement to a translated file.
Claim 13
Dependent Claim 172 words
A software rehosting apparatus for translating a computer program from a first computer dialect to a second computer dialect, said software rehosting apparatus comprising: a translation engine having a central processing unit; first storage memory in communication with said central processing unit, a computer program written in a first computer dialect stored thereon, said first computer dialect being a legacy-dialect; second storage memory in communication with said central processing unit, a computer program written in a second computer language stored thereon, said second computer language being a target-dialect; third storage memory in communication with said central processing unit, a rehost computer program stored thereon; an input device in communication with said central processing unit; an output device in communication with said central processing unit, said output device adapted to display a split screen presentation having a plurality of parts comprising a tree view in one part of the split screen, and a list view in another part of the split screen; and a pointing device in communication with said central processing unit.
Claim 14
Dependent Claim 172 words
A software rehosting apparatus for translating a computer program from a first computer dialect to a second computer dialect, said software rehosting apparatus comprising: a translation engine having a central processing unit; first storage memory in communication with said central processing unit, a computer program written in a first computer dialect stored thereon, said first computer dialect being a legacy-dialect; second storage memory in communication with said central processing unit, a computer program written in a second computer language stored thereon, said second computer language being a target-dialect; third storage memory in communication with said central processing unit, a rehost computer program stored thereon; an input device in communication with said central processing unit; an output device in communication with said central processing unit, said output device adapted to display a split screen presentation having a plurality of parts comprising a tree view in one part of the split screen, and a list view in another part of the split screen; and a pointing device in communication with said central processing unit.
Claim 15
Dependent Claim 27 words
The method as claimed in claim 1 , further comprising displaying on a computer monitor a split screen presentation, said split screen having a plurality of parts.
Claim 16
Dependent Claim 35 words
The method as claimed in claim 11 , said plurality of parts further comprising a tree view in one part of the split screen, and a list view in another part of the split screen.
Claim 17
Dependent Claim 38 words
The method as claimed in claim 12 , further comprising displaying in said tree view each element of parsed code as a branch and displaying each statement in each line as a collapsible sub-branch if additional elements exist.
Claim 18
Dependent Claim 21 words
The software rehosting apparatus as claimed in claim 10 , wherein said rehost computer program is an event generated computer program.
Claim 19
Dependent Claim 22 words
The software rehosting apparatus as claimed in claim 10 , wherein said rehost computer program further comprises a plurality of formatting options.
Claim 20
Dependent Claim 33 words
The software rehosting apparatus as claimed in claim 15 , wherein said rehost computer program further comprises a format options selector whereby a subset of said plurality of formatting options can be selected.
Claim 21
Dependent Claim 33 words
The software rehosting apparatus as claimed in claim 16 , wherein said rehost computer program further comprises a sequencer whereby said selected subset of formatting options can be sequenced into a particularized order.
Claim 22
Dependent Claim 42 words
The software rehosting apparatus as claimed in claim 16 , further comprising a formatter whereby each of a plurality of statements written in a first computer dialect, respectively, in sequence, can be formatted in accordance with said selected subset of formatting options.
Claim 23
Dependent Claim 42 words
The software rehosting apparatus as claimed in claim 18 , further comprising a refined statement generator whereby a series of one or more parsed, refined statements are generated corresponding to each of the plurality of statements written in the first computer dialect.
Claim 24
Dependent Claim 24 words
The software rehosting apparatus as claimed in claim 15 , further comprising a formatting modifier whereby the plurality of formatting options can be modified.
Claim 25
Dependent Claim 109 words
The software rehosting apparatus as claimed in claim 10 , further comprising: a plurality of formatting options; a format options selector whereby a subset of said plurality of formatting options can be selected; a sequencer whereby said selected subset of formatting options can be sequenced into a particularized order; a formatter whereby each of a plurality of statements written in a first computer dialect, respectively, in sequence, are formatted in accordance with said selected subset of formatting options; and a refined statement generator whereby a series of one or more parsed refined statements are generated corresponding to each of the plurality of statements written in the first computer dialect.
Claim 26
Dependent Claim 24 words
The software rehosting apparatus as claimed in claim 10 , further comprising a fourth storage memory having an operating system computer program stored thereon.
Claim 27
Dependent Claim 30 words
The software rehosting apparatus as claimed in claim 10 , whereby said input device receives a first information from an operator and provides said first information to said translation engine.
Claim 28
Dependent Claim 26 words
The software rehosting apparatus as claimed in claim 10 , said output device having a display which displays a second information provided from said translation engine.
Claim 29
Dependent Claim 17 words
The software rehosting apparatus as claimed in claim 24 , said second information having a tree structure.
Claim 30
Dependent Claim 25 words
The software rehosting apparatus as claimed in claim 10 , wherein said pointing device controls movement of a positional indicator displayed on said output device.
Claim 31
Dependent Claim 37 words
The software rehosting apparatus as claimed in claim 26 , wherein said pointing device has a first control function that provides a first control signal to a rehost computer program and to an operating system computer program.
Claim 32
Dependent Claim 20 words
The software rehosting apparatus as claimed in claim 27 , wherein said first control signal is an event initiating signal.
Claim 33
Dependent Claim 41 words
The software rehosting apparatus as claimed in claim 27 , wherein said first control signal varies as a function of a relative position of the positional indicator on said output device, the rehost computer program, and the operating system computer program.
Claim 34
Dependent Claim 37 words
The software rehosting apparatus as claimed in claim 26 , wherein said pointing device has a second control function that provides a second control signal to a rehost computer program and to an operating system computer program.
Claim 35
Dependent Claim 44 words
The software rehosting apparatus as claimed in claim 10 , further comprising: a translation model having: a first library having a plurality of statements; a second library having a plurality of statements; and a correspondence relationship between said first library and said second library.
Claim 36
Dependent Claim 26 words
The software rehosting apparatus as claimed in claim 31 , wherein said plurality of statements in said first library is written in said first computer dialect.
Claim 37
Dependent Claim 26 words
The software rehosting apparatus as claimed in claim 31 , wherein said plurality of statements in said second library is written in said second computer dialect.
Claim 38
Dependent Claim 41 words
The software rehosting apparatus as claimed in claim 31 , wherein said correspondence relationship further comprises a mapping of each of the plurality of statements in said first library to corresponding one of the plurality of statements in said second library.
Claim 39
Dependent Claim 23 words
The software rehosting apparatus as claimed in claim 34 , wherein said mapping is displayed in a tree structure on the output device.
Claim 40
Dependent Claim 22 words
The software rehosting apparatus as claimed in claim 35 , wherein said tree structure includes a translated statement and a generalized statement.
Claim 41
Dependent Claim 37 words
The software rehosting apparatus as claimed in claim 36 , wherein said tree structure further includes a flag sub-branch below the generalized statement, and at least one further sub-branch below said flag sub-branch having said translated statement.
Claim 42
Dependent Claim 25 words
The software rehosting apparatus as claimed in claim 31 , further comprising a first library updater whereby statements in the first library can be updated.
Claim 43
Dependent Claim 25 words
The software rehosting apparatus as claimed in claim 31 , further comprising a second library updater whereby statements in the second library can be updated.
Claim 44
Dependent Claim 23 words
The software rehosting apparatus as claimed in claim 31 , further comprising a correspondence relationship updater whereby the correspondence relationship can be updated.
Claim 45
Dependent Claim 74 words
A software rehosting computer program stored in a computer-readable memory, comprising: a plurality of formatting options; and a translation model having: a first library having a plurality of statements; a second library having a plurality of statements; an updateable correspondence relationship between said first library and said second library; and an output routine that outputs to a display device selected ones of said plurality of statements from each of said first and second libraries.
Claim 46
Dependent Claim 74 words
A software rehosting computer program stored in a computer-readable memory, comprising: a plurality of formatting options; and a translation model having: a first library having a plurality of statements; a second library having a plurality of statements; an updateable correspondence relationship between said first library and said second library; and an output routine that outputs to a display device selected ones of said plurality of statements from each of said first and second libraries.
Claim 47
Dependent Claim 25 words
The software rehosting computer program as claimed in claim 41 , further comprising a modify-formatting routine whereby said plurality of formatting options can be modified.
Claim 48
Dependent Claim 43 words
The software rehosting computer program as claimed in claim 41 , wherein: said plurality of statements in said first library is written in a first computer dialect; and said plurality of statements in said second library is written in a second computer dialect.
Claim 49
Dependent Claim 28 words
The software rehosting computer program as claimed in claim 43 , further comprising a parsing routine that parses the plurality of statements written in said first computer dialect.
Claim 50
Dependent Claim 28 words
The software rehosting computer program as claimed in claim 44 , further comprising a generalizing routine that generalizes each of the parsed plurality of first computer dialect statements.
Claim 51
Dependent Claim 34 words
The software rehosting computer program as claimed in claim 45 , further comprising a comparison routine that compares each of said generalized statements with ones of the plurality of statements in said second library.
Claim 52
Dependent Claim 47 words
The software rehosting computer program as claimed in claim 46 , further comprising a match routine whereby ones of said compared generalized statements that match ones of said plurality of statements in said second library are output in a tree structure for display on an output device.
Claim 53
Dependent Claim 45 words
The software rehosting computer program as claimed in claim 47 , wherein said tree structure includes said compared generalized statement and a corresponding translated statement, said translated statement being said one of said plurality of statements in said second library that matches said generalized statement.
Claim 54
Dependent Claim 38 words
The software rehosting computer program as claimed in claim 48 , wherein said tree structure further includes a flag sub-branch below the generalized statement, and at least one further sub-branch below said flag sub-branch having said translated statement.
Claim 55
Dependent Claim 37 words
The software rehosting computer program as claimed in claim 41 , further comprising an update routine that can update said plurality of statements in each of the first and second libraries, and can update the correspondence relationship.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-11-24 2007-05-26 2007-11-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-11-24 2011-05-26 2011-11-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-11-24 2015-05-26 2015-11-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag