Baselines are easy to set up and require only a small amount of meta-data, such as the Version Number and some Notes that are pre-filled with the time and date the Baseline was created. You can add your own comments such as 'After Requirements Sign-Off' to indicate the significance of a milestone or reason for the Baseline.
The basic steps in working with Baselines are:
- Create a Baseline - this will be for a selected Package and optionally its child Packages.
- Compare the model to the selected Baseline - there can be multiple Baselines of the same Package.
- Revert the model to one or more Baseline items - or choose to ignore the differences.
It is important to understand a fundamental difference between Baselines and Version Control. Baselines are user-initiated, so if a user has not created a Baseline for a given Package at a previous time it is not possible to compare the model to an earlier 'version'. However, once Version Control is set up for a Package, any changes that are made to the Package will be automatically versioned and will be available at a later time. These two facilities can be used in conjunction and it would be the responsibility of a Librarian or Administrator to determine how best to use them together.
Baselines are stored in the same XML format as is used for Version Control, but are stored in compressed format either within the project or in a Reusable Asset Service Registry. By default, Baselines are stored within the model; you can save a Baseline to an external XML file for storage or archive, or for distributing to other users working on models derived from a master project.
With a Package selected in the Browser window, choose the 'Create Baseline' option to create a new Baseline of the selected Package. You will be required to complete some details for the Baseline, as indicated:
New Baseline window showing details entered when creating a Baseline, including the version number.
- Version - a user defined version number used to identify the Baseline when running comparisons
- Include sub-packages - choose whether to Baseline subordinate Packages as well as the main Package
- Notes - used to describe the Baseline; e.g. 'Requirements Sign-Off' pre-filled with the Baseline time and date
Comparing to the Model
The management of baselines makes use of the comparison tool and presents a tabular presentation of the differences. The comparison tool shows the differences between the elements, their properties and features, relationships or visual changes in diagrams at the current time and the time of the baseline or model export. A tree view presents the comparison items and can be used to navigate through the changes which are presented on the panel on the right hand side.
Reverting to Baselines
Once the comparison (differencing) is complete, you can revert changes by merging information from the Baseline into the current project; it is not possible to go the other way.
- Merge information manually, change by change
- Merge information automatically by electing to merge in all changes in one batch procedure
- Revert completely to the original Baseline by importing the stored XMI directly
- Merge information and elements from a Baseline in a different project, making it possible to keep multiple versions of a single model in synch
The merge options are available through the toolbar, context menus and the keyboard on the 'Compare Utility' view, which shows the results of a comparison.
Changes to a model might include:
- Adding or removing or changing elements and connectors on a diagram, or
- Changing the position of elements or the overall layout of a diagram
You might believe that a diagram has changed, and select to compare it with a baseline using a ribbon option. Alternatively, you might perform a baseline comparison on a Package or a model and select from the comparison output any diagrams that are flagged as changed.
Visual (diagram) differences for a number of existing and new requirement elements.