When a profile change we have to reapply it in all models whose apply it. This action of simply reapply this profile could lose some information and the model can become invalid. The Profile Migration tool is providing a way to migrate profiled model from a profile version V1 to the same profile version V2. This tool try to make the most part of the migration automatically but in some case it is necessary that the user make a choice.
In this example, you can see in the figure 1 the profile before modification (profile V1) and in the figure 2 the model where the profile V1 is applied.
Figure1: Profile V1
Figure2: Profiled model with V1 applied
In the figure 3, the profile V2 is shown, modifications with the profile version V1 are:
- p1 has become unique
- p2 has become static
- S has become abstract, S1 ans S2 has been created and inherit from S
During the migration from the version V1 to the version V2 of the profile the tool ask us if we want to replace stereotype applications of S by one or many of its sub-stereotypes, in this example we chose to apply S1 to C1, S2 to C2 and S1 and S2 to C3. Since the property p2 has become static the Profile Migration Tool ask us if we want to apply a value to every slot corresponding to the property p2, in this example we chose "static value".
As we expected in the profiled model applying the version V2 (figure 4) stereotype S1 and S2 are apply like we chose, the "static value" is set to slot corresponding to the property p2 and slots corresponding to the property p1 has no more duplicated values.
A quick video can be found on the Papyrus' Youtube channel right here showcasing the use of the current iteration of the Profile Migration Tool.