IP Library Granted Patent US 11,567,738
Granted Patent B2
US 11,567,738 · App. 17/231,678 · Granted Jan 31, 2023

Code generator for creating a unified data model for multiple language specifications

Inventors: Eric Wittmann (Hartford, CT); Paolo Antinori (Milan, IT)
Assignee: Red Hat, Inc.
G06F8/35G06F8/10
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 11,567,738
App. No.
17/231,678
Granted
Jan 31, 2023
Kind
B2
Abstract

A system, includes a memory and a processor, where the processor is in communication with the memory. The processor is configured to receive a request to generate source code associated with a unified model defined by a set of specifications. A first specification of the set of specifications is parsed into a first set of components and a second specification of the set of specifications is parsed into a second set of components. The first set of components and the second set of components are analyzed to determine a correlation set and groups within the first set of components and the second set of components. The first set of components and the second set of components, incorporating the correlation set and groups, are combined to generate the unified model. The source code associated with the unified model is generated.

Claims (46)

1. A system, comprising:

a memory; and

a processor in communication with the memory, wherein the processor is configured to:

receive a request to generate source code associated with a unified model defined by a set of specifications;

parse a first specification of the set of specifications into a first set of components and a second specification of the set of specifications into a second set of components;

analyze the first set of components and the second set of components to determine a correlation set and groups within the first set of components and the second set of components;

combine the first set of components and the second set of components, incorporating the correlation set and groups, to generate the unified model, which includes a common base class and a plurality of sub-classes, each sub-class including at least one component, wherein at least one sub-class includes one or more components that each respectively represent a component from each of the first set of components and the second set of components, and at least one sub-class includes a component different from each component in at least one set of components; and

generate the source code associated with the unified model, wherein

the generated source code is integrated within an application, which is operable to generate a model defined by the first specification or the second specification, and

the application is operable to convert the model from the first specification to the second specification and operable to convert the model from the second specification to the first specification.

2. The system of claim 1 , wherein the generated source code includes classes representing the unified model.

3. The system of claim 1 , wherein the generated source code includes reader and writer classes for the unified model.

4. The system of claim 1 , wherein the generated source code includes input and output classes for the first specification and the second specification.

5. The system of claim 1 , wherein the unified model includes a hierarchical representation of the first set of components and the second set of the components.

6. The system of claim 1 , wherein analyzing comprises correlating matching components from the first set of components with the second set of components into the correlation set.

7. The system of claim 6 , wherein analyzing further comprises combining associated matching components in the correlation set into groups, wherein each matching component included in the correlation set is represented by a single component within the unified model.

8. The system of claim 1 , wherein the first specification is a different version of the second specification.

9. The system of claim 1 , wherein the processor is further configured to:

parse a third specification of the set of specifications into a third set of components;

analyze the third set of components with respect to the first set of components and the second set of components to determine an updated correlation set and updated groups;

combine the first set of components, the second set of components, and the third set of components, incorporating the updated correlation set and the updated groups, to generate an updated unified model; and

generate the source code associated with the unified model.

10. A method, comprising:

receiving a request to generate source code associated with a unified model defined by a set of specifications;

parsing a first specification of the set of specifications into a first set of components and a second specification of the set of specifications into a second set of components;

analyzing the first set of components and the second set of components to determine a correlation set and groups within the first set of components and the second set of components;

combining the first set of components and the second set of components, incorporating the correlation set and groups, to generate the unified model, which includes a common base class and a plurality of sub-classes, each sub-class including at least one component, wherein at least one sub-class includes one or more components that each respectively represent a component from each of the first set of components and the second set of components, and at least one sub-class includes a component different from each component in at least one set of components; and

generating the source code associated with the unified model, such that the generated source code is integrated within an application, which is operable to generate a model defined by the first specification or the second specification,

wherein the application is operable to convert the model from the first specification to the second specification and operable to convert the model from the second specification to the first specification.

11. The method of claim 10 , wherein the generated source code includes classes representing the unified model.

12. The method of claim 10 , wherein the generated source code includes reader and writer classes for the unified model.

13. The method of claim 10 , wherein the generated source code includes input and output classes for the first specification and the second specification.

14. A non-transitory machine readable medium storing code, which when executed by a processor is configured to:

receive a request to generate source code associated with a unified model defined by a set of specifications;

parse a first specification of the set of specifications into a first set of components and a second specification of the set of specifications into a second set of components;

analyze the first set of components and the second set of components to determine a correlation set and groups within the first set of components and the second set of components;

combine the first set of components and the second set of components, incorporating the correlation set and groups, to generate the unified model, which includes a common base class and a plurality of sub-classes, each sub-class including at least one component, wherein at least one sub-class includes one or more components that each respectively represent a component from each of the first set of components and the second set of components, and at least one sub-class includes a component different from each component in at least one set of components; and

generate the source code associated with the unified model, such that the generated source code is integrated within an application, which is operable to generate a model defined by the first specification or the second specification,

wherein the application is operable to convert the model from the first specification to the second specification and operable to convert the model from the second specification to the first specification.

15. The non-transitory machine readable medium of claim 14 , wherein analyzing comprises correlating matching components from the first set of components with the second set of components into the correlation set.

16. The non-transitory machine readable medium of claim 15 , wherein analyzing further comprises combining associated matching components in the correlation set into groups, wherein each matching component included in the correlation set is represented by a single component within the unified model.

17. The non-transitory machine readable medium of claim 14 , wherein the processor is further configured to:

parse a third specification of the set of specifications into a third set of components;

analyze the third set of components with respect to the first set of components and the second set of components to determine an updated correlation set and updated groups;

combine the first set of components, the second set of components, and the third set of components, incorporating the updated correlation set and the updated groups, to generate an updated unified model; and

generate the source code associated with the unified model.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2021
From: WITTMANN, ERIC; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 055946/0550 →
Continuity (1)
Related Publication 20220334810A1 · Oct 20, 2022