Skip to main content

Configuring IBM Rational Software Architect or IBM Rational Software Modeler for Transformation Development

Eric Funk (efunk@ca.ibm.com ), Software Engineer, IBM
Eric Funk is a software engineer and works in the Software Group supporting the IBM Rational software brand.
Charles Rivet (crivet@ca.ibm.com), Product Manager, IBM
Charles Rivet is currently a product manager in the Rational Software Group at IBM, supporting the Design and Construction product line. He has experience in the areas of product management, technical marketing, and in the architectural design and implementation of complex systems. His areas of expertise are in model-driven architecture (MDA), object-oriented analysis and design (OOAD), object-oriented development process, UML, configuration management, process control, and modeling heuristics.

Summary:  This article describes how to configure a runtime workbench in IBM Rational Software Architect or IBM Rational Software Modeler for transformation and transformation extension development. It also describes how users can share runtime workbench configurations. This article is intended for developers who are interested in developing and testing transformations and transformation extensions. It assumes that you have a basic understanding of developing and testing plug-ins in the Eclipse environment.

Date:  11 Nov 2005 (Published 26 Apr 2005)
Level:  Intermediate
Activity:  558 views

Developing transformations, or transformation extensions, for IBM Rational Software Architect (RSA) or IBM Rational Software Modeler (RSM) requires a significant amount of testing and debugging. Since this development is based on the Eclipse plug-in development paradigm, it requires the launch of a separate runtime or debug workbench instance from your workspace, which may require a lot of memory and a long start-up time when you're conducting a test.

Selecting the right plug-ins

Typically, developers simply tend to launch separate workbenches with the Plug-ins option Launch with all workspace and enabled external plug-ins (as shown in Figure 1). Considering the size of the default Eclipse shell, this isn't usually a problem. However, both RSA and RSM provide much more functionality and many more plug-ins than the default. Selecting this option does guarantee that all your required functionality is available in the launched workbench, but the launching of that workbench can take a long time due to the hundreds of plug-ins included.


Figure 1. Default run-time workbench plug-ins settings
Default run-time workbench plug-ins settings

You can reduce significantly the wait time involved in developing a transformation by configuring the launched workbench and reducing the number of plug-ins included in the launch instance.

To configure a runtime workbench:

  • Click Debug or Run from the Run menu
  • Select your Run-time workbench configuration
  • Click the Plug-ins tab
  • Select the Choose plug-ins and fragments to launch from the list option from the radio button group
  • Click Deselect All to clear all the plug-ins
  • Select the required plug-ins as illustrated in Figure 2 following


Figure 2. Selecting the required plug-ins
Selecting the required plug-ins

Selecting the correct set of plug-ins is the challenging part:

  • Start off by selecting the plug-ins that you are developing from the list of plug-ins in the Workspace Plug-ins tree
  • Click the Add Required Plug-ins button

The selected set of plug-ins will allow you to launch a workbench, but likely without all of the functionality you require. For example, a transformation that transforms a UML model to text would require that the Modeling perspective be usable in the run-time workbench. In addition, selecting the correct set of plug-ins is further complicated by the fact that not all plug-ins can be detected by the Add Required Plug-ins functionality.

Therefore, some experimentation is necessary to make sure that a runtime workbench has all of your required functionality. You can do this by:

  • Selecting a set (see the following paragraph for examples) of plug-ins that provides some required functionality.
  • Clicking the Add Required Plug-ins button.

Some typical plug-ins that you should include in the run-time workbench for transformations transforming UML models are:

  • All org.eclipse.* plug-ins (required for the Eclipse base -- this list can be reduced somewhat if you do not require all of the base Eclipse functionality)
  • All com.ibm.xtools.emf.* plug-ins (required because UML is based on EMF)
  • All com.ibm.xtools.modeler.* plug-ins (required so that you can create models)
  • All com.ibm.xtools.uml.* plug-ins (required for UML diagrams and models)
  • All com.ibm.xtools.uml2.* plug-ins (required for UML2 meta-model access)
  • The com.ibm.xtools.transform.core plug-in (required for your transformations to be recognized, and so they will execute)
  • The com.ibm.xtools.transform.ui plug-in (required so your transformation can be seen in the tool)
  • The com.ibm.xtools.transform.uml2 plug-in (required if you are creating UML transformations)
  • The com.ibm.rational.cdi.itlm plug-in (required for licensing)
  • All com.ibm.etools.lum.* plug-ins (required for licensing)

Also, if you are doing all of your development in English, you may not need the national language support plug-ins (that is, the ".nl1" plug-ins). You may also not need all the documentation (.doc) plug-ins.

The time spent setting up a minimal debug environment will save a lot more time when debugging the transformation being developed.


Sharing your configuration

Also, once you've properly configured a runtime workbench, you can share the configuration with other developers. A runtime workbench configuration is stored in a .launch file within the development workspace:

  • <workspace folder>\.metadata\.plugins\org.eclipse.debug.core\.launches

You would find a runtime workbench configuration with the name TransformationTest in the TransformationTest.launch file within the above specified folder.

You can send a copy of the .launch file to other developers. Copying the launch file into the previously-mentioned folder and restarting the development workbench results in a new runtime workbench configuration being available for use.

Another way to share your launch file is to use a shared location for the configurations (see Figure 3) when configuring the workbench configuration. The easiest way to define such a location is to create a simple project in your workspace, and then create the launch configuration in that project in the Common tab of the configuration. The project can then be shared with other users through a Team Provider such as IBM® Rational® ClearCase® or CVS. Users can import the project containing the launch configuration, making the launch configuration available for use.


Figure 3. Shared launch configurations
Shared launch configurations

An example using RSA 6.0

  1. Open the Plug-in Development perspective
  2. Create an example Model-to-Text Transformation:
    1. Open the File menu
    2. Click New
    3. Select the Example menu item
    4. Select Sample Model-to-Text Transformations within the UML Modeler Plug-ins folder
    5. Enter a project name and click the Finish button
  3. Configure a runtime workbench:
    1. Open the Run menu
    2. Click Run
    3. Select Run-time Workbench in the Run dialog
    4. Click the New button
    5. Select the Plug-ins tab
    6. Configure the plug-ins:
      • Click the Choose plug-ins choice
      • Only select the sample Model-To-Text transformation plug-in in the Workspace Plug-ins tree
      • Clear the External Plug-ins checkbox
      • Click the Add Required Plug-ins button
      • Select the following plug-ins:
        • antlr
        • com.ibm.etools.jsse
        • com.ibm.etools.lum.*
        • com.ibm.rational.application.developer
        • com.ibm.rational.cdi.itlm
        • com.ibm.rational.software.architect.*
        • com.ibm.wtp.emf*
        • com.ibm.xtools.common.*
        • com.ibm.xtools.emf.*
        • com.ibm.xtools.gef
        • com.ibm.xtools.modeler.*
        • com.ibm.xtools.msl.*
        • com.ibm.xtools.notation.*
        • com.ibm.xtools.pde
        • com.ibm.xtools.platform.*
        • com.ibm.xtools.r2a
        • com.ibm.xtools.rjcb.core
        • com.ibm.xtools.topic.edi
        • com.ibm.xtools.traceability.*
        • com.ibm.xtools.transform.core
        • com.ibm.xtools.transform.debugging
        • com.ibm.xtools.transform.ui
        • com.ibm.xtools.transform.uml2
        • com.ibm.xtools.uml.*
        • com.ibm.xtools.uml2.*
        • com.ibm.xtools.umlnotation.*
        • com.ibm.xtools.uref
        • com.ibm.xtools.validation
        • org.eclipse.*
      • Click the Add Required Plug-ins button
      • Click the Apply button
  4. Launch the runtime workbench:
    1. Click the Run button in the Run dialog.
  5. Test the transformation in the runtime workbench

To verify your configuration, you'll find attached a sample file: SampleRSAConfiguration.launch.


Conclusion

As you can see, a little effort can go a long way toward properly configuring either RSA or RSM for a runtime workbench with all the plug-ins you require to develop and test your transformations and transformation extensions. In addition, you've learned how to minimize the number of plug-ins you load, reducing your startup time.



Download

DescriptionNameSizeDownload method
Sample RSA Configuration Launch filesample_rsa_config.zip3 KB HTTP

Information about download methods


Resources

About the authors

Eric Funk is a software engineer and works in the Software Group supporting the IBM Rational software brand.

Charles Rivet is currently a product manager in the Rational Software Group at IBM, supporting the Design and Construction product line. He has experience in the areas of product management, technical marketing, and in the architectural design and implementation of complex systems. His areas of expertise are in model-driven architecture (MDA), object-oriented analysis and design (OOAD), object-oriented development process, UML, configuration management, process control, and modeling heuristics.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=64023
ArticleTitle=Configuring IBM Rational Software Architect or IBM Rational Software Modeler for Transformation Development
publish-date=11112005
author1-email=efunk@ca.ibm.com
author1-email-cc=
author2-email=crivet@ca.ibm.com
author2-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Special offers