Method and apparatus for round-trip software engineering
AssigneeComputer Associates Think, Inc.
InventorsTony Zgarba, Helga Yang, Dilhar De Silva
Life of this patent
Estimating the term…
Abstract
A method of round-trip engineering source code from a software model, and in particular a method of forward engineering code previously reverse engineered into a software model whereby to generate updated source code without any changes to the code not changed in the model, and without using obtrusive code markers in the source code. Elements from the original source code represented by the model are placed in a meta-model, and compared to a similar meta-model of the software model. Appropriate changes and additions are made in the source code to elements which have been changed in the software model. The rest of the code in the software model remains untouched.
Claims24
A method of synchronizing a software model and existing source code by generating updated source code, said existing source code comprising elements which can be represented in said software model and elements which cannot be represented in said software model, said software model allowing graphical representation of the intercommunication between said representable elements of said existing source code;
- said method comprising:
- a) comparing representations of each software model element with a corresponding element, if any, in the existing source code;
- b) generating new source code for each said software model element if said software model element differs from its corresponding element in the existing source code because said software model element has been updated in the software model;
- and
- c) incorporating said new source code into said existing source code;
- and
- d) storing the combined new source code and the remaining existing source code on a storage medium.
Apparatus for synchronizing a software model and existing source code by generating updated source code, said existing source code comprising elements which can be represented in said software model and elements which cannot be represented in said software model, said software model allowing graphical representation of the intercommunication between said representable elements of said existing source code;
- said apparatus comprising:
- a) means for comparing representations of each software model element with a corresponding element, if any, in the existing source code;
- b) means for generating new source code for each said software model element if said software model element differs from its corresponding element in the existing source code because said software model element has been updated in the software model;
- and
- c) means for incorporating said new source code into said existing source code;
- and
- d) means for storing the combined new source code and the remaining existing source code.
A computer recording medium including computer executable code for synchronizing a software model and existing source code by generating updated source code, said existing source code comprising elements which can be represented in said software model and elements which cannot be represented in said software model, said software model allowing graphical representation of the intercommunication between said representable elements of said existing source code;
- said computer recording medium comprising:
- a) code for comparing representations of each software model element with a corresponding element, if any, in the existing source code;
- b) code for generating new source code for each said software model element if said software model element differs from its corresponding element in the existing source code because said software model element has been updated in the software model;
- and
- c) code for incorporating said new source code into said existing source code;
- and
- d) code for storing the combined new source code and the remaining existing source code.
Dependencies are inferred from the claim text.