IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
1. Field of the Invention
This invention relates to a model compare utility, and particularly to a systems, methods and computer products for comparing computer models to show differences.
2. Description of Background
At present it is difficult to compare individual elements of a computer model. Most computer model compare utilities can only show differences between two entire Unified Modeling Language (UML) utility models only. Therefore, the user has to navigate the provided list of differences to find the model element of interest. If the model is big and the changes are numerous, navigating to a particular element can be a tedious job. To see the difference of a single element in a large model, the user has to leave their current integrated digital environment (IDE), to use an external utility that requires additional time and effort. Furthermore, current solution utilize the concept of file by file differences, whereas in a UML tool, a user is more interested in seeing the differences between a particular model element versus a previous version, rather the entire file.
Based on the foregoing, there exists a need for UML tool that shows differences between the elements of interest only, without leaving the current IDE or opening up any external tools.
Exemplary embodiments include a method for examining changes to a data model in a computer system having a keyboard and a display, the method including examining a computer model having a plurality of model attributes, identifying each model attribute and assigning a unique identifier to each model attribute, storing information about each uniquely identified model attribute, collecting data related to edits performed on of each of the uniquely identified model attributes, providing a user selectable comparison for each of the uniquely identified model attributes such that when a model attribute is selected, data particular to the model attribute is extracted using the unique identifier from a previous iteration of the model attribute and presenting the extracted data next to the current iteration of the model attribute to allow a visual comparison of the two iterations.
Further exemplary embodiments include a system for examining changes to a data model, the system including a computing device having a keyboard, a display and a memory having instructions to, examine a computer model on the display, the computer model having a plurality of model attributes, identify each model attribute and assigning a unique identifier to each model attribute, store data about each uniquely identified model attribute in the memory, collect data related to edits performed on of each of the uniquely identified model attributes, provide a user selectable comparison for each of the uniquely identified model attributes such that when a model attribute is selected, data particular to the model attribute is extracted using the unique identifier from a previous iteration of the model attribute, the user selectable comparison being performed by depressing a hot key combination on the keyboard to display a differences window on the display and present the extracted data next to the current iteration of the model attribute to allow a visual comparison of the two iterations, the comparison being displayed in the differences window.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings.
As a result of the summarized invention, technically we have achieved a solution which provides a user with a comparison environment that can be displayed concurrently with the modeling environment providing an in-place comparison for a quick view of the differences. In addition, the user can replace a model element with the older version. The comparison tool can be used over a UML diagram to show the previous version of the diagram.
The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings.
Exemplary embodiments include systems, methods and computer products for examining changes to computer models. The exemplary embodiments described herein provide a framework to represent any form of model of unlimited complexity in a generalized, repeatable format such that a “snapshot” of models can be taken, models can be compared, differences determined, and identified changes implemented into instances of a model. As an example, PowerPoint® is described. In PowerPoint®, a “tool->compare and merge documents” is invoked for document comparison. In this example, this tool compares an opened file with a selected file. This comparison is a complete file-to-file comparison, and all the differences between the two documents are listed.
Turning now to the drawings in greater detail, it will be seen that in
In exemplary embodiments, the systems and methods described herein provide a comparison of requested differences only and not a file-to-file comparison. As such, the user selects a portion inside a diagram and asks for the differences with an old version. Therefore, the user creates a context (i.e., at runtime) in which the user is interested in seeing the differences. For example, a “LimitedDiff” tool shows the differences for which the user asked and not for the entire file. In contrast, a user cannot a portion inside PowerPoint® and ask for differences with the older version. In PowerPoint®, the user must search/navigate for the lines of interest from the complete list of differences for the entire file. In the embodiments described herein the “LimitedDiff” tool shows the differences for the portion context defined by the user at runtime with its previous version. The ability to display only the requested differences in referred to as in-place comparison: seeing what has changed in a model while the user is modeling. The user can therefore see the differences between a current version and previous version of a selected model element while the user is inside a modeling tool, which shows the user the differences of the element of interest (i.e., only the differences of the elements of interest) without leaving the current IDE or opening up any external tool. It is appreciated that the model element(s) here can be a single or multiple number of class(es), usecase(s) or any other element defined in UML.
In exemplary embodiments, by using a hotkey and selecting (e.g., Ctrl+Selecting) a particular model element for few seconds shows the previous version of a model element, which occurs in-place as described above. The previous version of the selected model element is shown just above its current position allowing the user to have a visual comparison.
The systems and methods described herein can be implemented in RSA/RSM (Rational Software Architect). In exemplary embodiments, every model element is identified with a unique ID inside a model file. The model file stores information of all the model elements and Diagrams, which can be identified uniquely. When a user selects a model element and activates the LimitedDiff tool, the user can extract information particular to this model element (using the unique ID) from the previous version of model. The extracted information is represented back in the current model allowing the user to have a quick view between the two versions.
It is therefore appreciated that the systems and methods described herein provide a user with a comparison environment that can be displayed concurrently with the modeling environment providing an in-place comparison for a quick view of the differences. In addition, the user can replace a model element with the older version. The comparison tool can be used over a UML diagram to show the previous version of the diagram.
The capabilities of the present invention can be implemented in software, firmware, hardware or some combination thereof.
As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.