![]() | ![]() ![]() ![]() ![]() | Rose Panther Link |
Reverse-engineering is the process of converting an existing Panther component into a Rose class. This can occur for existing Panther components as well as for Rose-generated components. This process is beneficial for documenting service components.
When you convert a Rose class into a Panther component, you can reverse engineer the process. This "regenerating" of an existing Rose class only affects the following:
Reverse-engineering an existing Rose class from a Panther component should overwrite all of the previous data. Attributes, operations, and parameters that did not exist in the Rose class are added from the Panther component. Attributes, operations, and parameters that are not in the Panther component are deleted in the newly-regenerated Rose class. The return_args
and receive_args
statements are regenerated in order to reflect modeling changes in the interface. (To keep the previous statements, refer to "Keeping Code Changes.")
Creating Rose Classes through Reverse Engineering | ![]() |
The Panther Generation Wizard performs this reverse-engineering, resulting in Rose class diagrams displayed by selecting the model's Logical View.
Description of Results | ![]() |
Rose Panther Link sends to Rose only a subset of the Panther component information. The changes to Panther components in the editor that would map back to corresponding changes in the component's class representations in Rose are the following:
The mapping from objects in Panther back to their reflections in the Rose environment will be by name only–if you change the name of an Operation/Method or Attribute/Property, it will not be recognizable to the reverse engineering process.
The business logic code is preserved automatically by Rose Panther Link on the reverse engineering process. However, the
Keeping Code Changes
return_args
and receive_args
statements are regenerated by default in order to reflect modeling changes in the interface. If you do not want to overwrite any customized return_args
and receive_args
statements, set the RegenerateReturnArguments
and RegenerateReceiveArguments
properties to false in the Operations Specification window's Panther tab.