blob: eaef49ffa73a0a2ad89d8b2e4632f14633010e8b [file] [log] [blame]
h3. Pre-requisites for AMALTHEA model migration
h4(#migration-vm-args). VM arguments
Default max heap memory (Xmx) used by the APP4MC distribution is 2 GB. In case of migrating huge models, it is recommended to increase this memory to 4 GB before invocation of "AMALTHEA Model Migration" feature
Follow the below steps to increase the heap memory setting of APP4MC :
* Open *app4mc.ini* file (_present in the location where APP4MC is installed_) and change the parameter -Xmx from 2g to 4g. (_*Note*: In case if APP4MC plugins are integrated inside custom eclipse application, then corresponding <application_name>.ini file -Xmx parameter should be updated as specified below_)
!(gray_scale)../pictures/ui/vm_arguments_configuration.png!
h4(#migration-uuid). Usage of UUID's instead of URI fragments inside AMALTHEA models
It is recommended that AMALTHEA models (1.0.3 and 1.1.0 versions) have UUID's instead of Xpath like URI fragments for identifying the elements.
*_Note:_* Default referencing mechanism within an EMF model or across models is to have Xpath like URI fragments (example : "//@stimuliModel/@stimuli.9") but this is not recommended when the model elements are modified through external mechanism (_instead of standard EMF editors_) as it is quite challenging to update index order and references accordingly.
*Model files generated by AMALTHEA (1.0.3) /Amalthea4Public (1.1.0) IDE contains UUID instead of Xpath like URI fragments. From Amalthea4Public (1.1.1), custom URI fragments are introduced which are based on the element names rather than index*
h5. How to identify if Xpath like URI fragments are used in AMALTHEA model files
Open AMALTHEA model files in text editor
* search if xmi:id attribute is present for the tags
* search for String : "//@" , if the search result consists of this kind of Strings @"//@stimuliModel/@stimuli.9"@
If the results of "xmi:id" are false and "//@" are true, this means - > URI fragments are used in the AMALTHEA model files
h5. How to identify if UUID's are used in AMALTHEA model files
Open AMALTHEA model files in text editor
* search if xmi:id attribute is present for the tags
If model elements consists of xmi:id attributes for their identification and for referencing, model content looks like below:
@<calls xsi:type="sw:TaskRunnableCall" xmi:id="_FddJyEJsEeW3445fEkSwWQ" runnable="_FeWjyUJsEeW3445fEkSwWQ"/>@
h5. Update AMALTHEA models to use UUID's instead of Xpath like URI fragments
Once it is identified that models contain Xpath like URI fragments, it is recommended to update them to have UUID's before invoking model migration.
For update of models to have UUID's, use one of the below plugin (depending on the model version) and execute it in the corresponding AMALTHEA distribution to which model is belonging to
table(classic).
|*AMALTHEA Model Version*|*Utility plugin to convert URI Fragments to UUID's*|
|1.0.3| <div><a href="../util_plugins/1.0.3_org.itea2.amalthea.urifragments.converter.zip">download : 1.0.3 AMALTHEA models converter</a> </div>|
|1.1.0| <div><a href="../util_plugins/1.1.0_org.itea2.amalthea.urifragments.converter.zip">download : 1.1.0 AMALTHEA models converter</a> </div>|
Follow the below steps to convert URI Fragments to UUID's:
# Import the dowloaded utility plugin into corresponding AMALTHEA distribution <br/><br/> !(gray_scale)../pictures/utility/import.png! <br/><br/>
** Select the option "Existing Projects into Workspace" <br/><br/> !(gray_scale)../pictures/utility/import_existing_projects.png! <br/><br/>
** Select the location of zip file (downloaded utility plugin) <br/><br/> !(gray_scale)../pictures/utility/select_project_to_import.png! <br/><br/>
# Open the models folder in the project - &gt; remove the existing models and copy the models which should be updated for UUID's (_It is important to have all the models and the dependent models copied with the same folder structure_) <br/><br/> !(gray_scale)../pictures/utility/copy_models.png! <br/><br/>
# Configuring the copied models to be considered for UUID's updation : <br/><br/> !(gray_scale)../pictures/utility/configuring_models_mwe2.png! <br/><br/>
# Executing workflow to update the Amalthea models : <br/><br/> !(gray_scale)../pictures/utility/execute_workflow.png! <br/><br/>
# Updated model files (with UUID's) will overwrite the input models. *These model files should be used for model migration*
*Special behavior*
During the UUID update process following behavior is performed:
* If AMALTHEA model elements are referring to Franca Interfaces, references are removed but the content of the reference is copied as CustomProperty for FInterfacePort element <br/><br/> !(gray_scale)../pictures/utility/franca_interface_handling.png! <br/><br/>