Reverse engineering code to create new projects
When you generate a Rhapsody model from legacy code in the reverse engineering process, further edits to the model or to the code become synchronized in the roundtripping process thereafter. Code centric mode is the default for the reverse engineering process.
Macro collecting, the first stage of the reverse engineering process, collects all the macros from the files before analyzing the files and building the model.
The results of reverse engineering are as follows:
- Recognized and supported constructs are added to the model.
- Existing features in a model are updated from the source file to match the source file definition. For example, if the type of an attribute differs in an existing model and a source file being imported, it is changed in the model to match the source file.
- With the ability to preserve code structure ("code respect"), the reverse engineered code in the Rhapsody model respects the structure of the original code and preserves this structure when code is regenerated from the Rhapsody model. The reverse engineered C and C++ code preserves the order, location, and dependencies of the global elements in the original code. For more information, see Preserving code structure during generation.
- Unresolved elements that are not resolved by the import process remain unresolved.
- Existing diagrams or statecharts are not synthesized using imported elements.
- New model elements found in a source file are added to the browser, but not to existing diagrams.
Use the roundtrip feature to update an existing model. See Roundtripping in code-centric mode for more information.