Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 4dbcc4ae7817a0570c55913931d04b5f708ad34d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Profile migration tool
## Migrations
### Migration about properties
* Property\_modify\_lowerValue: If the loverValue feature of a property is modified then the migration tool shall maintain the validity of the model. If the lower value is increase, means that as many as the lowerValue values are mandatory the migration tool shall upgrade each application of the stereotype owning this property. The upgrade consist in asking the designer which value he want to set on the slot corresponding of this property. If the lower value is decreased the migration tool shall not do anything. - **IChangeLowerMultiplicityFromPropertyMigrator**
* Property\_modify\_upperValue: If the upper value of a property is modified then the migration tool shall maintain the validity of the model. If the upper value is decrease the migration tool shall upgrade each application of the stereotype owning this property. The upgrade consist in asking the designer which values he wants to keep for the slot corresponding of this property. If the upper value is increased the migration tool shall not do anything. - **IChangeUpperMultiplicityFromPropertyMigrator**
* Property\_modify\_isStatic: If the property becomes static then the migration tool shall change the value of every slop corresponding to this property. To determine which value the system shall set, it shall ask the designer which value he wants. - **IChangeIsStaticFromPropertyMigrator**

### Migration about stereotypes
* Stereotype\_add\_property: If a Stereotype is updated with a new property then a slot for this property shall be available for each application of the stereotype in the profile model. If the new property has a default value then each application of the modified stereotype in the profiled model has its corresponding slot set with the default value. If the new property has no default value but a value is required (the minimal multiplicity is greater or equal than 1) then each application of the modified stereotype in the profiled model has its corresponding slot, the migration tool shall ask the designer to know which value he wants to set. If the new property has no default value and a value is optional (the minimal multiplicity is equal to 0) then each application of the modified stereotype in the profiled model has it corresponding slot set to null. - **IAddPropertyToStereotypeMigrator**
* Stereotype\_modify\_isAbstract: If a Stereotype becomes abstract the migration tool shall ask the designer if he wants to replace applications of this stereotype by one or many Stereotypes pick in a list. This list is defined by all specializations of the abstract Stereotype available on applied profiles. If the answer is "no" then the application of this stereotype is delete, otherwise selected stereotypes are applied and inherited slot are preserved. - **IChangeIsAbstractFromStereotype**
* Stereotype\_move: If a Stereotype is moved to another profile then the migration tool shall focus on the preservation of the stereotype applications available at the profiled model. If the stereotype was moved in a profile that is already applied on the profiled model then the migration is trivial and every application of this stereotype shall remain If the stereotype was moved in a profile that is not already applied on the profiled model then the migration tool asks the designer if the profile should be applied. If the designer answers 'yes' every application of this stereotype shall remain conversely if the answer is 'no' then every application of this stereotype shall be deleted. - **IMoveStereotypeMigrator**

### Migration about profile
* Profile\_move: If a profile is moved to another profile then the  migration tool shall focus on the preservation of the stereotype applications available at the profiled model. If the profile was moved in a profile that is already applied on the profiled model then the migration is trivial and every stereotype application shall remain.If the profile was moved in a profile that is not already applied on the profiled model then the migration tool asks the designer if the moved profile should be reapplied. If the designer answers 'yes' every stereotype application shall remain conversely if the answer is 'no' then every stereotype application shall be deleted. - **IMoveProfileMigrator.java**

### Migration about package
* Package\_move: If a package is moved to another profile then the migration tool shall focus on the preservation of the stereotype applications available at the profiled model. If the package was moved in a profile that is already applied on the profiled model then the migration is trivial and every stereotype application shall remain. If the package was moved in a profile that is not already applied on the profiled model then the migration tool asks the designer if the profile should be applied. If the designer answers 'yes' every stereotype application shall remain conversely if the answer is 'no' then every stereotype application shall be deleted. - **IMovePackageMigrator.java**

### Migration about Enumeration
* Enumeration\_delete\_EnumerationLitteral: If an enumeration literal is deleted from an enumeration in the profile specification and this enumeration is used to type one or many properties of stereotypes then all stereotype applications corresponding to the affected stereotype shall be upgraded. The upgrade consists for each stereotype application in providing the designer with the possibility to update the enumeration literal affected to the property whose specification was changed. - **IDeleteEnumerationLiteralFromEnumeration.java**

Back to the top