Automated technique for code generation of datastream mappings
First Claim
1. A method of automatically generating datastream mappings, comprising:
- retrieving a protocol definition for a first protocol;
retrieving a protocol definition for a second protocol;
retrieving mapping data defining each mapping or procedure required to convert any element in the first protocol to one or more corresponding elements in the second protocol;
selecting an element in one of the first or second protocols; and
generating executable code or data structures required for conversion of the selected element from the one protocol to another of the first or second protocols.
3 Assignments
0 Petitions
Accused Products
Abstract
Complex data protocols, such as the financial protocols OFX and Gold, generate data streams in which some elements may not have a one-to-one mapping between protocols, some elements may have only conditional mapping between protocols, and some elements may not supply fields or parameters under a first protocol which are required under the second protocol. Executable code and/or data structures for data conversion between such complex protocols are automatically generated. An exhaustive definition of each protocol in machine readable format is obtained, complex mapping rules between elements are broken into atomic operations and procedures which are definable and encapsulated, and a structured flow for element conversion between protocols is defined. A mapping definition language specifying the mappings and procedures for each step in converting all elements is architected, and a tool is written to interpret the protocol definitions and the mapping definition, then generate the appropriate executable code and/or data structures. Manual coding is substantially reduced and product quality increase with reduction of handcrafted code.
-
Citations
24 Claims
-
1. A method of automatically generating datastream mappings, comprising:
-
retrieving a protocol definition for a first protocol;
retrieving a protocol definition for a second protocol;
retrieving mapping data defining each mapping or procedure required to convert any element in the first protocol to one or more corresponding elements in the second protocol;
selecting an element in one of the first or second protocols; and
generating executable code or data structures required for conversion of the selected element from the one protocol to another of the first or second protocols. - View Dependent Claims (2, 3, 4)
repeating the steps of;
selecting an element in one of the first or second protocols, and generating executable code or data structures required for conversion of the selected element from the one protocol to an other of the first or second protocols, until all elements in both protocols have been selected and executable code for conversion of all elements from the one protocol to the other protocol has been generated.
-
-
3. The method of claim 1, wherein the step of retrieving a protocol definition for a first protocol further comprises:
retrieving a protocol definition for OFX.
-
4. The method of claim 1, wherein the step of retrieving a protocol definition for a first protocol further comprises:
retrieving a protocol definition for Gold.
-
5. A method of automatically generating datastream mappings, comprising:
-
receiving a transaction in a first protocol;
determining which transaction was received from a protocol definition for the first protocol;
determining, from mapping data for converting the transaction from the first protocol to a second protocol, each transaction required to perform the received transaction in the second protocol;
formulating a set of equivalent transactions by allocating all required fields for each transaction required to perform the received transaction in the second protocol; and
determining, from the mapping data, how to map each field within the received transaction to one or more corresponding fields in a transaction in the second protocol. - View Dependent Claims (6, 7, 8, 9, 10)
examining each field within all transactions in the second protocol required to complete the received transaction; and
determining, from the mapping data, whether any field has been improperly converted.
-
-
7. The method of claim 5, further comprising:
mapping a field in the received transaction to one or more corresponding fields in the transactions required to complete the received transaction in the second protocol.
-
8. The method of claim 7, wherein the step of mapping a field in the received transaction to one or more corresponding fields in the transactions required to complete the received transaction in the second protocol further comprises:
placing a value from the field in the received transaction in a field in an equivalent transaction.
-
9. The method of claim 7, wherein the step of mapping a field in the received transaction to one or more corresponding fields in the transactions required to complete the received transaction in the second protocol further comprises:
employing a value from the field in the received transaction as a lookup in the mapping data to determine a value for a field within an equivalent transaction.
-
10. The method of claim 7, wherein the step of mapping a field in the received transaction to one or more corresponding fields in the transactions required to complete the received transaction in the second protocol further comprises:
converting a value from the field in the received transaction to a format employed by a field within an equivalent transaction.
-
11. A system for automatically generating datastream mappings, comprising:
-
a protocol definition for a first protocol;
a protocol definition for a second protocol;
mapping data defining each mapping or procedure required to convert any element in the first protocol to one or more corresponding elements in the second protocol; and
a code generator selecting an element in one of the first or second protocols and generating executable code or data structures required for conversion of the selected element from the one protocol to an other of the first or second protocols. - View Dependent Claims (12, 13, 14)
a protocol definition for OFX.
-
-
14. The system of claim 11, wherein the protocol definition for a first protocol further comprises:
a protocol definition for Gold.
-
15. A system for automatically generating datastream mappings, comprising:
-
a transaction in a first protocol; and
a converter;
determining which transaction was received from a protocol definition for the first protocol;
determining, from mapping data for converting the transaction from the first protocol to a second protocol, each transaction required to perform the received transaction in the second protocol;
formulating a set of equivalent transactions by allocating all required fields for each transaction required to perform the received transaction in the second protocol; and
determining, from the mapping data, how to map each field within the received transaction to one or more corresponding fields in a transaction in the second protocol. - View Dependent Claims (16, 17, 18, 19, 20)
-
-
21. A computer program product within a computer usable medium for automatically generating datastream mappings, comprising:
-
instructions for retrieving a protocol definition for a first protocol;
instructions for retrieving a protocol definition for a second protocol;
instructions for retrieving mapping data defining each mapping or procedure required to convert any element in the first protocol to one or more corresponding elements in the second protocol;
instructions for selecting an element in one of the first or second protocols; and
instructions for generating executable code or data structures required for conversion of the selected element from the one protocol to an other of the first or second protocols. - View Dependent Claims (22)
instructions for repeating the steps of;
selecting an element in one of the first or second protocols, and generating executable code or data structures required for conversion of the selected element from the one protocol to an other of the first or second protocols, until all elements in both protocols have been selected and executable code for conversion of all elements from the one protocol to the other protocol has been generated.
-
-
23. A computer program product within a computer usable medium for automatically generating datastream mappings, comprising:
-
instructions for receiving a transaction in a first protocol;
instructions for determining which transaction was received from a protocol definition for the first protocol;
instructions for determining, from mapping data for converting the transaction from the first protocol to a second protocol, each transaction required to perform the received transaction in the second protocol;
instructions for formulating a set of equivalent transactions by allocating all required fields for each transaction required to perform the received transaction in the second protocol; and
instructions for determining, from the mapping data, how to map each field within the received transaction to one or more corresponding fields in a transaction in the second protocol. - View Dependent Claims (24)
instructions for examining each field within all transactions in the second protocol required to complete the received transaction; and
instructions for determining, from the mapping data, whether any field has been improperly converted.
-
Specification