IP Library Granted Patent US 6,993,745
Granted Patent B1
US 6,993,745 · App. 09/522,319 · Granted Jan 31, 2006

Method and system for modeling a legacy computer system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,993,745
App. No.
09/522,319
Granted
Jan 31, 2006
Kind
B1
Abstract

A method and system for modifying program applications of a legacy computer system to directly output data in XML format models the legacy computer system, maps the model to an XML schema and automatically modifies one or more applications to directly output XML formatted data in cooperation with a writer engine and a context table. A modeling engine lists the incidents within the applications that write data and generates a report data model. The report data model includes statically determined value or type of the data fields and is written in a formal grammar that describes how the write operations are combined. A modification specification is created to define modifications to the legacy computer system applications that relate applications that write data to the XML schema. A code generation engine then applies the modification specification to the applications to write modified applications that, in cooperation with a writer engine and context table, directly output XML formatted data from the legacy computer system without a need for transforming the data.

Claims (78)

1. A computer-implemented method for modeling a legacy computer system comprising:

identifying incidents of applications of the legacy computer system that output data;

creating a control flow graph of the output incidents;

wherein the incidents comprise report commands; and

wherein the control flow graph comprises plural nodes having associated arcs, at least some of the plural nodes associated with an output incident.

2. The method of claim 1 further comprising:

identifying the value or type of the data fields associated with each output incident; and

attaching the value or type to the control flow graph.

3. The method of claim 2 wherein identifying the value or type further comprises:

identifying output incidents of invariant data fields; and

attaching the value of each invariant data field to its associated control flow graph incident.

4. The method of claim 2 wherein identifying the value or type further comprises:

identifying output incidents of variant data fields; and

attaching the type of each variant data field to its associated control flow graph incident.

5. A computer-implemented method for modeling a legacy computer system comprising:

identifying incidents of applications of the legacy computer system that output data;

creating a control flow graph of the output incidents; and

wherein the control flow graph comprises plural nodes having associated arcs, each node associated with an output incident.

6. The method of claim 5 wherein a complete control flow graph of the application (N,A) is used to compute a directed graph (NR, AR) wherein:

n comprises a node in NR if n, an element of N, starts an output process, stops an output process or outputs data; and

<n1, nm> comprises an arc in AR if n1 and nm are in NR and a sequence of arcs <n1, n2>, <n2, n3>, . . . , <nm-1, nm> is in A such that for i from 2 to m-1, ni is not in NR.

7. The method of claim 6 further comprising:

defining the control flow graph as a formal grammar that describes the flow paths from each start command to the associated stop commands.

8. A system for modeling an output application of a legacy computer system comprising:

a modeling engine interfaced with the legacy computer system, the modeling engine operable to analyze an application loaded on the legacy computer system to identify incidents within the application that output data from the legacy computer system;

a control flow graph of the output incidents within the application;

wherein the incidents comprise report commands; and

wherein the control flow graph comprises plural nodes having associated arcs, at least some of the plural nodes associated with an output incident.

9. The system of claim 8 , wherein the modeling engine is operable to identify the incidents within the source code of the application.

10. The method of claim 5 , further comprising:

identifying the value or type of the data fields associated with each output incident; and

attaching the value or type to the control flow graph.

11. The method of claim 10 , wherein identifying the value or type further comprises:

identifying output incidents of invariant data fields; and

attaching the value of each invariant data field to its associated control flow graph incident.

12. The method of claim 10 , wherein identifying the value or type further comprises:

identifying output incidents of variant data fields; and

attaching the type of each variant data field to its associated control flow graph incident.

13. The method of claim 5 , further comprising

associating the incidents with an Extensible Markup Language schema; and

creating a specification to modify the legacy computer system applications to provide output in Extensible Markup Language format.

14. The method of claim 13 , further comprising automatically modifying the legacy computer system applications in accordance with the specification.

15. A computer-implemented method for modeling a legacy computer system comprising:

identifying incidents of applications of the legacy computer system that output data;

creating a control flow graph of the output incidents;

associating the incidents with an Extensible Markup Language schema; and

creating a specification to modify the legacy computer system applications to provide output in Extensible Markup Language format.

16. The method of claim 15 further comprising:

automatically modifying the legacy computer system applications in accordance with the specification.

17. A system for modeling an output application of a legacy computer system comprising:

a modeling engine interfaced with the legacy computer system, the modeling engine operable to analyze an application loaded on the legacy computer system to identify incidents within the application that output data from the legacy computer system;

a control flow graph of the output incidents within the applications;

wherein the control flow graph comprises plural nodes, each node associated with an output incident;

wherein a complete control flow graph of the application (N,A) is used to compute a directed graph (NR, AR) wherein:

n comprises a node in NR if n, an element of N, starts an output process, stops an output process or outputs data; and

<n1, nm> comprises an arc in AR if n1 and nm are in NR and a sequence of arcs <n1, n2>, <n2, n3>, . . . , <nm-1, nm> is in A such that for i from 2 to m-1, ni is not in NR.

18. A system for modeling an output application of a legacy computer system comprising:

a modeling engine interfaced with the legacy computer system, the modeling engine operable to analyze an application loaded on the legacy computer system to identify incidents within the application that output data from the legacy computer system;

a control flow graph of the output incidents within the application;

wherein the incidents comprise report commands; and

wherein the control flow graph of the output incidents comprises a formal grammar that describes the flow paths from each start command to the associated stop commands.

19. A system for modeling an output application of a legacy computer system comprising:

a modeling engine interfaced with the legacy computer system, the modeling engine operable to analyze an application loaded on the legacy computer system to identify incidents within the application that output data from the legacy computer system;

a control flow graph of the output incidents within the application;

wherein the incidents comprise report commands; and

a graphical user interface in communication with the modeling engine, the graphical user interface operable to display the control flow graph formal grammar and the incidents.

20. The system of claim 19 wherein the graphical user interface further communicates with a mapping engine and an Extensible Markup Language schema, the mapping engine operable to map the incidents of the applications with the control flow graph formal grammar and the Extensible Markup Language schema.

21. A computer-implemented method for modeling a legacy computer system comprising:

creating a control flow graph of output incidents of applications of a legacy computer system;

wherein the control flow graph comprises plural nodes having associated arcs, each node associated with an output incident; and

wherein a complete control flow graph of the application (N,A) is used to compute a directed graph (NR, AR) wherein:

n comprises a node in NR if n, an element of N, starts an output process, stops an output process or outputs data; and

<n1, nm> comprises an arc in AR if n1 and nm are in NR and a sequence of arcs <n1, n2>, <n2, n3>, . . . , <nm-1, nm> is in A such that for i from 2 to m-1, ni is not in NR.

22. A computer-implemented method for modeling a legacy computer system comprising:

identifying incidents of applications of the legacy computer system that output data;

creating a control flow graph of the output incidents;

wherein the incidents comprise report commands; and

wherein identifying incidents of applications of the legacy computer system comprises identifying incidents of applications of the legacy computer system within the source code of the applications.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENT. SERVICES DEVELOPMENT CORPORATION LP
Reel/Frame 041041/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2009
From: ELECTRONIC DATA SYSTEMS, LLC
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 022449/0267 →
CHANGE OF NAME Recorded Mar 24, 2009
From: ELECTRONIC DATA SYSTEMS CORPORATION
To: ELECTRONIC DATA SYSTEMS, LLC
Reel/Frame 022460/0948 →