IP Library › Granted Patent US 8,826,225
Granted Patent B2
US 8,826,225 · App. 13/124,787 · Granted Sep 2, 2014

Model transformation unit

Inventors: Oswald Perrin (Paris, FR); Gérard Naouri (Bievres, FR); Erwan Vezin (Paris, FR)
Assignee: Accenture Global Services Limited
G06F8/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 8,826,225
App. No.
13/124,787
Granted
Sep 2, 2014
Kind
B2
Abstract

The invention concerns a model transformation unit adapted to transform a first source model in a source domain into a target model in a target domain, the first source model being a tree of source elements and the target model being a tree of target elements representing a project to be implemented in computer code, the model transformation unit including at least one memory adapted to store the first source model ( 104, 106 ), a source meta-model ( 204 ) representing the source domain, a target meta-model ( 206 ) representing the target domain, and a transformation model ( 210 ) indicating rules for transforming between the source meta-model and the target meta-model; and a transformation engine ( 102 ) adapted to determine, based on the transformation model, a parent element of each target element of the target model to be generated and to construct the target model by generating, for each source element in the source model to be transformed, a target element based on the transformation model, and by positioning each target element in the tree of target elements below its parent element.

Claims (120)

1. A model transformation unit comprising:

at least one memory to store instructions; and

a processor to execute the instructions to:

identify a source model in a source domain;

identify a target model in a target domain,

the target domain being different than the source domain;

receive a transformation model,

the transformation model including information defining rules for transforming elements in the source model to elements in the target model;

identify the elements in the source model;

generate, based on the transformation model, the elements in the target model that correspond to the identified elements in the source model,

the processor, when generating the elements in the target model, being to:

read each of the identified elements in the source model;

determine a respective property associated with each of the identified elements in the source model;

identify respective meta information, from another model, associated with each of the identified elements in the source model,

 the other model being identified based on information associated with a domain of the source model, and

 the other model being different than the source model and being different than the target model; and

generate the elements in the target model using the determined respective property and the identified respective meta information; and

construct, using the generated elements, the target model,

the target model including a tree of target elements, and

the processor, when constructing the target model, being to:

determine, for each generated target element, a parent element by identifying an element in the source model that is associated with a parent meta-class and using the identified element as the parent element; and

position, in the tree of target elements, each generated target element below the determined parent element.

2. The model transformation unit of claim 1 , where

each generated element is defined by a meta-class, and

the processor, when determining the parent element for each generated target element, is further to:

determine the parent meta-class of the meta-class defining each generated target element.

3. The model transformation unit of claim 1 , where

the memory is further to:

store another source model; and

the processor is further to:

use the other source model to construct the target model.

4. The model transformation unit of claim 1 , where

the source model is part of another model, and

the processor is further to:

search for ancestor elements and child elements of the elements in the source model to determine the elements in the source model to be transformed.

5. The model transformation unit of claim 1 , where the processor is further to:

determine one or more differences between the elements in the target model and the elements in the source model; and

use the determined one or more differences between the elements in the target model and the elements in the source model to construct the target model.

6. The model transformation unit of claim 1 , where the processor is further to:

provide an interface between the source model, the target model, and the transformation model.

7. The model transformation unit of claim 1 , where the source model is a platform independent model (PIM) and the target model is a platform specific model (PSM).

8. The model transformation unit of claim 1 , where at least one of the source model or the target model is:

a model in a business domain representing platform independent processes;

a model in a functional domain representing platform independent functions;

a model in an application domain representing platform independent applications;

a model in a technical domain representing platform specific aspects; or

a model in a code ware domain representing computer code for a specific platform.

9. The model transformation unit of claim 1 , where the source model and the target model are represented in UML (unified modeling language).

10. A method comprising:

identifying, by a device, a source model in a source domain;

identifying, by the device, a target model in a target domain,

the target domain being different than the source domain;

receiving, by the device, a transformation model,

the transformation model including information defining rules for transforming elements in the source model to elements in the target model;

identifying, by the device, the elements in the source model;

generating, by the device and based on the transformation model, the elements in the target model that correspond to the identified elements in the source model,

the generating including:

reading each of the identified elements in the source model;

determining a respective property associated with each of the identified elements in the source model;

identifying respective meta information, from another model, associated with each of the identified elements in the source model,

the other model being identified based on information associated with a domain of the source model, and

the other model being different than the source model and being different than the target model; and

generating the elements in the target model using the determined respective property and the identified respective meta information; and

constructing, by the device and using the generated elements, the target model,

the target model including a tree of target elements, and

the constructing including:

determining, for each generated target element, a parent element by identifying an element in the source model that is associated with a parent meta-class and using the identified element as the parent element; and

positioning, in the tree of target elements, each generated target element below the determined parent element.

11. The method of claim 10 , where

each generated target element is defined by a meta-class, and

when determining the parent element for each generated target element, the method includes:

determining the parent meta-class of the meta-class defining each generated target element.

12. The method of claim 10 , where

the source model is part of another model, and

the method further includes:

performing a search for ancestor elements and child elements of the elements in the source model to determine the elements in the source model to be transformed.

13. The method of claim 10 , where, when determining the parent element for each generated target elements, the method includes:

determining, using property and attribute information associated with the other model, elements in the source model that have a meta-class that translates into a meta-class associated with each generated element in the target model; and

using the determined elements in the source model that have a meta-class that translates into the meta-class associated with each generated element in the target model to construct the target model.

14. A non-transitory computer readable medium storing instructions, the instructions comprising:

one or more instructions which, when executed by a processor, cause the processor to:

identify a source model in a source domain;

identify a target model in a target domain,

the target domain being different than the source domain;

receive a transformation model,

the transformation model including information defining rules for transforming elements in the source model to elements in the target model;

identify the elements in the source model;

generate, based on the transformation model, the elements in the target model that correspond to the identified elements in the source model,

the one or more instructions to generate the elements in the target model including:

one or more instructions to read each of the identified elements in the source model;

one or more instructions to determine a respective property associated with each of the identified elements in the source model;

one or more instructions to identify respective meta information, from another model, associated with each of the identified elements in the source model,

 the other model being identified based on information associated with a domain of the source model, and

 the other model being different than the source model and being different than the target model; and

one or more instructions to generate the elements in the target model using the determined respective property and the identified respective meta information; and

construct, using the generated elements, the target model,

the target model including a tree of target elements, and

the one or more instructions to construct the target model including:

one or more instructions to determine, for each generated target element, a parent element by identifying an element in the source model that is associated with a parent meta-class and using the identified element as the parent element; and

one or more instructions to position, in the tree of target elements, each generated target element below the determined parent element.

15. The non-transitory computer readable medium of claim 14 , where

each generated element is defined by a meta-class, and

the one or more instructions to determine the parent element for each generated target element include:

one or more instructions to determine the parent meta-class of the meta-class defining each generated target element.

16. The non-transitory computer readable medium of claim 14 , where

the source model is part of another model, and

the instructions further include:

one or more instructions to perform a search for ancestor elements and child elements of the elements in the source model to determine the elements in the source model to be transformed.

17. The non-transitory computer readable medium of claim 14 , where the one or more instructions to determine the parent element for each generated target elements include:

one or more instructions to determine, using property and attribute information associated with the other model, elements in the source model that have a meta-class that translates into a meta-class associated with each generated element in the target model; and

one or more instructions to use the determined elements in the source model that have a meta-class that translates into the meta-class associated with each generated element in the target model to construct the target model.

18. The non-transitory computer readable medium of claim 14 , where the instructions further include:

one or more instructions to store another source model; and

one or more instructions to use the other source model to construct the target model.

19. The method of claim 10 , further comprising:

storing another source model; and

using the other source model to construct the target model.

20. The method of claim 10 , further comprising:

determining one or more differences between the elements in the target model and the elements in the source model; and

using the determined one or more differences between the elements in the target model and the elements in the source model to construct the target model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2011
From: PERRIN, OSWALD; NAOURI, GERARD; VEZAN, ERWAN
To: ACCENTURE GLOBAL SERVICES LIMITED
Reel/Frame 027175/0348 →
Continuity (1)
Related Publication 20120042299A1 · Feb 16, 2012