Topic
  • 4 replies
  • Latest Post - ‏2013-09-26T13:08:09Z by GabrielManzano
Gabriel Manzano
Gabriel Manzano
2 Posts

Pinned topic Is it possible to avoid the regeneration of the model's code in RSA profiles?

‏2013-09-20T14:38:56Z |
Hi,
I'm working with RSA plugins's profiles, which have about one thousand stereotypes. It is a problem because when I generate the model and the model code, appears a class with a 65k sized method. Java cannot works with sized methods greater than 65Kb . I can fix it cutting up the method in a few ones more (tens in fact), but is not a maintainable task any way.
Is there any way to export and use profiles's plugins without code regeneration, after each stereotype update?

 

Thanks.

Updated on 2013-09-20T14:39:46Z at 2013-09-20T14:39:46Z by Gabriel Manzano
  • FXPanaget
    FXPanaget
    23 Posts
    ACCEPTED ANSWER

    Re: Is it possible to avoid the regeneration of the model's code in RSA profiles?

    ‏2013-09-21T14:08:26Z  

    Hi Gabriel,

    Try to see if the steps outlined in the following infocenter page can help:

    http://pic.dhe.ibm.com/infocenter/rsahelp/v8r5/index.jsp?topic=%2Fcom.ibm.xtools.uml.profile.tooling.doc%2Ftopics%2Ft_update_pt_prefs.html

    Regards,

    Francois

  • FXPanaget
    FXPanaget
    23 Posts
    ACCEPTED ANSWER

    Re: Is it possible to avoid the regeneration of the model's code in RSA profiles?

    ‏2013-09-24T07:03:33Z  
    Hi Francoys,

    Thanks for answering, but I fear that what you comment is not enough. When I apply the "Visual Fusion" to regenerate the model's code, RSA crashes (loop exception cause by java heap space) .To avoid this, currently I delete the model and part of the code folders. So, once I regenerate the model, RSA thinks It is the first time I do it. After that, I regenerate the model's code completely. In this point is when appears the problem with the huge method that I have to repair manualy.

    (My first idea was update the eclipse.ini file with this parameters: -Xms512m, -Xmx1024m, -XX:PermSize=512m, -XX:MaxPermSize=1024m, but the problem persists)

     
    I'm starting to think that RSA doesn't support all of those stereotypes (about 1500).
    Is there any llimitation in the number of stereotypes that RSA can support?
    If is not, Is there any way to face this problem?

     

    Best Regards,

    Gabriel.

    Hi Gabriel,

    1500 stereotypes seems a lot.

    Have you thought of spliting them in different  separate profiles?

    Else, I would advise to contact your IBM Rational Client support team in your region so they can have a better look at the behavior.

    Regards,

    Francois

  • FXPanaget
    FXPanaget
    23 Posts

    Re: Is it possible to avoid the regeneration of the model's code in RSA profiles?

    ‏2013-09-21T14:08:26Z  

    Hi Gabriel,

    Try to see if the steps outlined in the following infocenter page can help:

    http://pic.dhe.ibm.com/infocenter/rsahelp/v8r5/index.jsp?topic=%2Fcom.ibm.xtools.uml.profile.tooling.doc%2Ftopics%2Ft_update_pt_prefs.html

    Regards,

    Francois

  • Gabriel Manzano
    Gabriel Manzano
    2 Posts

    Re: Is it possible to avoid the regeneration of the model's code in RSA profiles?

    ‏2013-09-23T15:00:51Z  
    • FXPanaget
    • ‏2013-09-21T14:08:26Z

    Hi Gabriel,

    Try to see if the steps outlined in the following infocenter page can help:

    http://pic.dhe.ibm.com/infocenter/rsahelp/v8r5/index.jsp?topic=%2Fcom.ibm.xtools.uml.profile.tooling.doc%2Ftopics%2Ft_update_pt_prefs.html

    Regards,

    Francois

    Hi Francoys,

    Thanks for answering, but I fear that what you comment is not enough. When I apply the "Visual Fusion" to regenerate the model's code, RSA crashes (loop exception cause by java heap space) .To avoid this, currently I delete the model and part of the code folders. So, once I regenerate the model, RSA thinks It is the first time I do it. After that, I regenerate the model's code completely. In this point is when appears the problem with the huge method that I have to repair manualy.

    (My first idea was update the eclipse.ini file with this parameters: -Xms512m, -Xmx1024m, -XX:PermSize=512m, -XX:MaxPermSize=1024m, but the problem persists)

     
    I'm starting to think that RSA doesn't support all of those stereotypes (about 1500).
    Is there any llimitation in the number of stereotypes that RSA can support?
    If is not, Is there any way to face this problem?

     

    Best Regards,

    Gabriel.

    Updated on 2013-09-23T15:09:21Z at 2013-09-23T15:09:21Z by Gabriel Manzano
  • FXPanaget
    FXPanaget
    23 Posts

    Re: Is it possible to avoid the regeneration of the model's code in RSA profiles?

    ‏2013-09-24T07:03:33Z  
    Hi Francoys,

    Thanks for answering, but I fear that what you comment is not enough. When I apply the "Visual Fusion" to regenerate the model's code, RSA crashes (loop exception cause by java heap space) .To avoid this, currently I delete the model and part of the code folders. So, once I regenerate the model, RSA thinks It is the first time I do it. After that, I regenerate the model's code completely. In this point is when appears the problem with the huge method that I have to repair manualy.

    (My first idea was update the eclipse.ini file with this parameters: -Xms512m, -Xmx1024m, -XX:PermSize=512m, -XX:MaxPermSize=1024m, but the problem persists)

     
    I'm starting to think that RSA doesn't support all of those stereotypes (about 1500).
    Is there any llimitation in the number of stereotypes that RSA can support?
    If is not, Is there any way to face this problem?

     

    Best Regards,

    Gabriel.

    Hi Gabriel,

    1500 stereotypes seems a lot.

    Have you thought of spliting them in different  separate profiles?

    Else, I would advise to contact your IBM Rational Client support team in your region so they can have a better look at the behavior.

    Regards,

    Francois

  • GabrielManzano
    GabrielManzano
    1 Post

    Re: Is it possible to avoid the regeneration of the model's code in RSA profiles?

    ‏2013-09-26T13:08:09Z  
    • FXPanaget
    • ‏2013-09-24T07:03:33Z

    Hi Gabriel,

    1500 stereotypes seems a lot.

    Have you thought of spliting them in different  separate profiles?

    Else, I would advise to contact your IBM Rational Client support team in your region so they can have a better look at the behavior.

    Regards,

    Francois

    Hi Francois,
     
    I was working on your advises but at the moment it doesn't seems a good idea. On the other hand, I've been looking the source code created by RSA when it regenerates the code's model and there is a folder "com.mapfre.limite.plugin.edithelpers" which contains one class per sterotype, and most all look the same. As you can imagine, the plugin.xml file has a metadata tag per possible stereotypes association, class and instance specification:
     
    <extension
             id="OurPlugin ElementTypes"
             name="OurPlugin ElementTypes"
             point="org.eclipse.gmf.runtime.emf.type.core.elementTypes">
     
          <metamodel
                 nsURI="http://www.eclipse.org/uml2/3.0.0/UML">
             <specializationType
                   id="com.company.ourplugin.plugin.stereotypes1_2_Association"
                   name="%_UI_ElementType__stereotypes1_2_Association_name"
                   edithelperadvice="com.company.ourplugin.plugin.edithelpers.stereotypes1_2_AssociationEditHelperAdvice"
                   kind="com.ibm.xtools.uml.type.IStereotypedElementType">
                <param
                      name="stereotype"
                      value="OurPlugin::stereotypes1_2"/>
                <specializes id="com.ibm.xtools.uml.association"/>
                <matcher class="com.mapfre.limite.plugin.types.stereotypes1_2AssociationMatcher"/>
             </specializationType>
          </metamodel>
         
          <and so on...

     

      ...And Bindings:

     
    <extension
             id="OurPlugin ElementTypeBindings"
             name="OurPlugin  ElementTypeBindings"
             point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
          <binding context="com.ibm.xtools.uml.type.context">
             <elementType ref="com.compay.OurPlugin.plugin.stereotypes1_2Association"/>
             <elementType ref="com.compay.OurPlugin.plugin......Association"/>
             <elementType ref=com.compay.OurPlugin.....
           <and so on..

     

     
    All this seems quite inefficient. Would it be possible modifying this mechanism to avoid all those classes (path EditHelper) and forcing the method which calls those classes to call directly to the father class? 
    In another way, Is necesary using the Tooling Model?

     

    Regards,

    Gabriel.

    Updated on 2013-09-26T14:09:53Z at 2013-09-26T14:09:53Z by GabrielManzano