"IBM Rational Modeling Extension for Microsoft® .NET" Technical Preview

 

Copyright 2006, the IBM Corporation

 

This document is intended solely the use and benefit of individuals who are evaluating the technical preview edition of IBM Rational Modeling Extension for Microsoft .NET version 7.0 (hereinafter “the extension”) under special arrangement with IBM.  The information it contains is IBM proprietary and confidential.  It is protected under the terms of the Confidential Disclosure Agreement Supplement that governs each evaluating organization’s participation in the technical preview evaluation program.

 

General

 

1.  To be used for evaluation purposes only

The tech preview version of the extension is provided for evaluation purposes, and is not intended for use in customers’ production work projects.  Use of the tech preview version of the extension is completely at your own risk. 

 

2. Required host:

The extension can be installed into the Open Beta build of Rational Software Architect v7.0.   The Open Beta license for RSA will expire in early January 2007.  Thereafter it will also be possible to install the extension into the general availability version of RSA.   However it will be necessary to fully uninstall both the extension and the Open Beta of RSA, then install the GA version of RSA, and re-install the extension.

 

3. Error dialog during installation

When installing the extension, the following error dialog will appear:

 

Continue Installation?

There were problems during the installation. Continue with installation?

 

(Details) Reason:

Expanding features of com.ibm.rme.main

  In shareable unit "com.ibm.xtools.transform.uml2.cs_feature 7.0.0.v200610311309", failed to resolve required component "org.eclipse.jet" for version tolerance "[0.7.0,1.0.0)". 

  In shareable unit "com.ibm.xtools.transform.uml2.cs_feature 7.0.0.v200610311309", failed to resolve required component "org.eclipse.uml2.feature" for version tolerance "2.0.2". 

  In shareable unit "com.ibm.xtools.visualization.dotnet.feature 7.0.0.v200610311309", failed to resolve required component "org.eclipse.uml2.feature" for version tolerance "[2.0.2,3.0.0)".

  In shareable unit "com.ibm.xtools.visualization.dotnet.feature 7.0.0.v200610311309", failed to resolve required component "org.eclipse.gmf.feature" for version tolerance "[1.0.2,2.0.0)". 

  In shareable unit "com.ibm.xtools.xde.dotnet.csharp.feature 7.0.0.v200610311309", failed to resolve required component "org.eclipse.uml2.feature" for version tolerance "2.0.2". 

 

 

It is safe to continue with installation, it will complete successfully and both RSA and the extension will function.   However, it will not be possible to change the installed configuration using Eclipse Updater.

 

4. Visual Studio 2005 must be running whenever RSA with the extension is started. 

 

5. Using models previously imported from XDE to RSA version 6.x

If you have RSA models that were previously imported from XDE to RSA version 6.x and you have migrated (or plan to migrate) those forward to RSA version 7.0 and also use the extension, then you must also have the Rational XDE Model Import feature of RSA installed.

 

Feedback and Support

 

Submit feedback and defect reports to smithtw@us.ibm.com.   When reporting defects please provide the complete set of steps used to reproduce the condition.

 

Known Issues

 

1.  C# to UML transformation

a). Reapplying this transformation does not work in the following scenario:

1.      In the model create a class Class1 with Operation1

2.      Create Interface2 with Operation2.

3.      Create some additional classes (Class3, Class4, Class5…)

4.      Let Class1 realize Interface2.

5.      Save the model and run the UML to C# transformation. This generates code for Class1 and Interface2.

6.      In Visual Studio: In the code, remove the @generated annotation from Class1::Operation1 and write some method body code for this operation.

7.      In Visual Studio: delete files Interface2.cs, Class3.cs, Class4.cs, Class5.cs … but do not delete Class1.cs.

8.      In Visual Studio: “Save all” (save the entire VS solution space)

9.      Re-apply the UML to C# transformation

10.  In RSA, “refresh” the VS project

 

Observed Result:

·     In the RSA Project Explorer, only Class1.cs is seen.

·     In the code, all files are there, but Class1::Operation1 is regenerated. It has @generated tag, and has the default generated body.

·     No amount of reapply helps after this point and to regain visibility to the other classes within the RSA environment requires either closing and reopening the VS project (in RSA) or deleting it and re-importing it (in RSA).

 

In this scenario, the problem is due to deletion of Interface.cs, that introduces compilation errors in the code. We, on the other hand, assume that there are no compilation errors when any of the transformations are run. With compilation errors, there might be some issues whenever forward or reverse transform are run.

 

b) Any "using..." statements added in code are lost on reapply.

1.      Create a class Class1.

2.      Save model, and run forward transform.

3.      In Visual Studio: In the code, add attribute1 to Class1 (also requires adding "using System;" at the top of the file)

4.      In Visual Studio: Save all

5.      Reapply forward transform.

 

Observed Result:

·    Using statement is lost.

 

2. UML to C# transformation using the “Replace elements” option

a)  The transformation is not able to replace certain UML elements:

·    UML2 Enumeration

·    UML2 Class stereotyped as C# Delegate

·    any elements under a UML2 Package

 

Observed Result:

·    Transformation with “replace elements” applied to models with these elements leaves the entire VS solution visualization mechanism unusable

 

Workaround

·    . There is no workaround for the failure of the UML elements to be replaced.  However, functionality of the VS Solution visualization can be restored by clising and opening the Eclipse UML Project that contains the model to which the transformation was applied.

 

3. Importing C# code models from XDE

 

A capability for importing XDE C# code models for use with RSx and the extension is included with the tech preview version, but it does not support the full set of model import capabilities that have been specified as requirements for the general release version.  

 

One of the specified requirements for the general release version is to support an importation option such that a Visual Studio solution containing XDE code models and the code to which those models are bound can be imported, and will produce corresponding RSx models wherein all of the UML semantic elements have been replaced with direct references to the corresponding elements in imported code.  Diagrams within the code model are preserved (from a notational standpoint) but are updated with the appropriate code references.  This results in a set of models that are ready to be used according to the RSx  Mixed modeling with conceptual and concrete elements” theory of operations.  (Refer to the product Help:  WelcomeàOverviewàDifferent modeling approaches for different process philosophies)

 

The tech preview version supports a model importation capability intended to result in a set of models that are ready to be used according to other RSx “theories of operations” such as “Using the conceptual model to govern development” and “Using the conceptual model to drive development”.  However, the capabilities in the tech preview are limited:

 

a)      The code model importer tags all code elements (as “@generated”) for which Synchronization was enabled in the original XDE model

b)      This enables the users to run the UMLß àC# transformations and thereby propagate changes made in the model to C# source-code, and vice versa

c)      However this capability is limited in the tech preview such that some instances of the following elements are not tagged correctly:

·    Methods

·    Constructors

·    Indexers

·    Properties

… which will break behaviors in certain model changed” and “code changed” scenarios when re-applying the transformations