IBM Rational Asset Manager Configurator

A plugin to help you visualize Rational Asset Manager configurations via models

IBM Rational Asset Manager supports technical managers, analysts, architects, developers, testers, and others in their development reuse activities. Rational Asset Manager is customizable to support the kinds of assets and classifications important to your enterprise, and can be configured through the Rational Asset Manager Web user interface. When Rational Asset Manager is configured, the changes are applied immediately.

Some enterprises need to communicate and discuss the Rational Asset Manager configuration before committing it to the repository. The Rational Asset Manager Configurator provides a way to visualize the Rational Asset Manager configuration in models, allowing them to be shared, discussed, and refined. The models are transformed into an XMI format and imported to configure Rational Asset Manager. The Rational Asset Manager Configurator also builds models from the exported Rational Asset Manager XMI files.

Editor's note: For an updated version of this article and plugin, please refer to Using the IBM Rational Asset Manager Configurator to configure UML model profiles, by the same author, and updated September 2008.

Grant Larsen, Senior Architect, SOA Solutions Team, IBM, Software Group

Grant Larsen is STSM/Chief-Architect – Asset Management at IBM Rational software. At KPMG Peat Marwick in 1989, he joined their Advanced Technologies practice applying leading-edge, object-oriented solutions. Grant joined Rational Software in 1993, where he had multiple roles including field services, product development for Rational Rose, and business development. Grant was a member of the UML committee for Rational, and published portions of that specification.

In 1997 Grant joined Blueprint Technologies, directing their development activities. Grant’s team developed reusable components/frameworks for solving Internet application integration problems. Grant and his team also developed an advanced reuse mechanism for managing reusable designs. Grant has published multiple articles, been a guest editor, and contributed to other books on framework technology and related technologies.

In 2000 Grant joined the Technology Group in Catapulse, Inc. working with Rational Software to establish industry standards on specifying reusable assets. In 2001 Rational Software acquired Catapulse. Grant continued to develop reusable assets, practices, and techniques in his role as Director, Reuse Strategies. During this time, Grant published multiple articles to Annals of Software Engineering and to the Rational Developer Network site.

In 2003 IBM acquired Rational Software. Grant continues to drive the asset-based development strategy, including asset governance and asset-based development process definition, pattern content development, and tooling features. Grant worked with industry leaders to establish standards on specifying reusable assets, known as the Reusable Asset Specification (RAS). This specification was adopted by the OMG. Grant is currently the chief architect of Rational Asset Manager, working with customers to set the product vision



14 August 2007

Also available in Chinese

Introduction

IBM® Rational® Asset Manager supports technical managers, analysts, architects, developers, testers, and others in their development reuse activities. This repository governs the assets as they are submitted, categorizes the assets, provides access control to the assets, and measures the activity level of assets in terms of their usage. The asset metadata is organized using the Reusable Asset Specification (RAS) maintained by the Object Management Group (OMG).

An asset has several major characteristics, as shown in Figure 1. These include:

  • A collection of zero or more artifacts: Files, binaries, models, tests, and so on
  • Relationships to other assets: Dependencies, aggregation, and so on
  • Classification: Tagged values and terms to classify assets
  • Usage measurements: Who is using the asset, what defects does it have, and so on
  • Access control: Who can do what with the asset
  • Policies: Descriptions of proper structure and content for the asset
  • Type: The fundamental characteristics describing the nature and meaning of the asset, shared by all assets of that type, such as component or service, distinguishing it from other types. These characteristics include:
    • Metadata for that type (adding to RAS metadata), specific artifacts, relationships to other asset types, and classifications
Figure 1. Asset characteristics
asset circle surrounded by boxed characteristics

Examples of asset types include applications, components, business process models, services, patterns, and designs. This extensible structure for assets permits enterprises to specify the nature and control of their high-value assets. Enterprises can specify architectural structures and control through extensible asset types and other mechanisms, which are then managed and enforced by Rational Asset Manager.

To support this extensible structure there are several items the repository administrator configures, namely the Information Model, as shown in Figure 2.

Figure 2. Configuration overview
two columns, repository admin and community admin

When you configure the category schemas, asset types, asset attributes, and relationship types in Rational Asset Manager, the changes submitted are immediately available and operational in the repository. However, there is often a period of time required for the enterprise to discuss and decide on the structure of the Information Model. One way to communicate the items in the Information Model is to use models. Using a UML model to describe elements of the Information Model provides visualization of the configuration.

The Rational Asset Manager Configurator transforms IBM® Rational® Software Architect and IBM® Rational® Software Modeler models into an XMI file, which is imported into Rational Asset Manager to configure its Information Model. Conversely, the Rational Asset Manager Configurator also transforms an XMI file exported from Rational Asset Manager into a Rational Software Architect or Rational Software Modeler model (hereafter, simply "model").

Figure 3. Rational Asset Manager Configurator
two boxes linked by arrows

The Rational Asset Manager Configurator provides a UML profile used in building the models. The models describe asset types, category schemas, relationship types, and custom asset attributes to configure Rational Asset Manager. However, the UML profile at this point is mostly used for modeling the asset types and category schemas. You model the relationship types and custom attributes using regular UML classes and associations. A description of how to build the models is given later.

Environment

The Rational Asset Manager Configurator was built using Rational Software Architect 7.0.0.3 on Windows XP. You need to have the Rational Software Architect or Rational Software Modeler extensibility features turned on for the Rational Asset Manager Configurator to work. This has not been tested on Rational Software Architect for Linux.

Update site for Rational Asset Manager Configurator

To install the Rational Asset Manager Configurator, perform the following steps.

  1. Choose a location on your file system to extract the contents of the zip file (RAMConfigurator_v1.0.3.zip), available from the Download section
  2. In Rational Software Architect, create a local update site and select the Rational Asset Manager Configuration feature to install (Help > Software Updates > Find and Install)
  3. Restart Rational Asset Manager

Rational Software Architect or Rational Software Modeler to Rational Asset Manager

The provided sample Rational Software Architect model (found in the RAM_v7_SampleConfigurationModel.zip file, available from the Download section) shows you how to create the Rational Software Architect models to work with the Rational Asset Manager Configurator. To begin, either use the sample model as a starting point, or create a new UML model.

If you create a new model, then apply the Rational Asset Manager UML Profile to the model, as shown in Figure 4.

Figure 4. Rational Asset Manager UML Profile in Rational Software Architect
table with profile details

The expected Rational Software Architect model structure is shown in Figure 5. Each of the major model sections is described later.

Figure 5. Rational Software Architect model package structure
explorer tree view of model structure

Modeling asset types

To model asset types, create a package called AssetTypeConfiguration and add the Asset Type, Custom Attributes, and Relationships sub-packages, as shown in Figure 6.

Figure 6. Rational Software Architect asset type package structure
explorer tree view of asset structure

The stereotypes for asset types are described in Table 1.

Table 1. Rational Asset Manager UML Profile: Asset Types
UML Model ElementStereotypeHow Applied
Class/InterfaceTypeThis is automatically applied when you create a Rational Asset Manager Asset Type in the model.
Class/Interface (Type) attribute You pick only one of these per attribute on the Type – although several can be selected, only pick oneLabel OfYou apply this in the model when describing the nature of the artifact for the asset. This means that you can specify any kind of label that will be used on an artifact when submitting an asset.
File Extension OfYou apply this in the model when describing the nature of the artifact for the asset. This means that a file with the specified file extension must be, or should be, in the asset.
Format OfYou apply this in the model when describing the nature of the artifact for the asset. This means that the artifact must be of a specific format.
Class/Interface (Type) attribute You pick only one of these per attribute on the Type – although several can be selected, only pick oneAt LeastYou apply this in the model when describing the nature of the artifact for the asset. This qualifies the nature of the cardinality: that is, if the multiplicity is "1" and this is selected, it means that "at least 1" of this artifact must be in the asset.
At MostYou apply this in the model when describing the nature of the artifact for the asset. This qualifies the nature of the cardinality: that is, if the multiplicity is "1" and this is selected, it means that "at most 1" of this artifact must be in the asset.
ExactlyYou apply this in the model when describing the nature of the artifact for the asset. This qualifies the nature of the cardinality: that is, if the multiplicity is "1" and this is selected, it means that "exactly 1" of this artifact must be in the asset.
Class/Interface (Type) attribute You only use this when describing a custom attribute on an asset type, you do not use these stereotypes when describing artifacts, such as Label of and At LeastNotRequiredYou apply this in the model to indicate that a custom attribute is not required on an asset type.
RequiredYou apply this in the model to indicate that a custom attribute is required on an asset type.

To create asset types in the model, create a free-form or class diagram and use the RAM Asset Type shown in Figure 7, adding them to the Asset Types package.

Figure 7. Rational Asset Manager UML Profile palette
cursor selecting RAM asset type option

To create relationships between asset types, use the RAM Asset or Category Relation shown in Figure 7. A brief description of modeling the asset types and relationship is shown in Figure 8. When describing an artifact on an asset, use the String type on the attribute.

Figure 8. Rational Asset Manager UML Profile: asset types
two boxes connected by arrow

You can see the stereotypes on a Type attribute (that is, artifacts in an asset) in Figure 9.

Figure 9. Rational Asset Manager UML Profile: asset type artifacts
overlapping window objects

Table 2 introduces the stereotypes on relationships in the profile.

Table 2. Rational Asset Manager UML Profile: asset type relationships
UML Model ElementStereotypeHow Applied
Association You pick only one of these per associationAt LeastYou apply this in the model when describing the nature of the association for the asset. This qualifies the nature of the cardinality: that is, if the multiplicity is "1" and this is selected, it means that this asset is associated with "at least 1" asset of the asset type on the other end.
At MostYou apply this in the model when describing the nature of the association for the asset. This qualifies the nature of the cardinality: that is, if the multiplicity is "1" and this is selected, it means that this asset is associated with "at most 1" asset of the asset type on the other end.
ExactlyYou apply this in the model when describing the nature of the association for the asset. This qualifies the nature of the cardinality: that is, if the multiplicity is "1" and this is selected, it means that this asset is associated with "exactly 1" asset of the asset type on the other end.
Association You enter a keyword on the association. The keyword describes the relationship type and will cause the Rational Asset Manager Configurator to use one of the relationship types defined in the model. If it does not exist, one will be created.KEYWORD:
Enter any relationship type name
Entered by you on the association, this is not a stereotype, but a keyword identifying the relationship type.

Figure 10 shows a sample of the stereotypes applied on the relationships.

Figure 10. Rational Software Architect UML Profile: asset type relationships
Properties tab and Apply Stereotypes window

Modeling category schemas

For each category schema, create a UML package and name it using the naming convention shown in Figure 11. The naming convention is really only a best practice; but the category schema should be in its own package.

Figure 11. Rational Software Architect classification package structure
explorer tree view

To create category schema elements, create a diagram in one of the category schema packages and use the RAM Category Schema Element in the palette shown in Figure 12. Build relationships using the RAM Asset or Category Relation.

Figure 12. Rational Asset Manager UML Profile palette: Category Schema
cursor selecting RAM Category Schema Element

The direction of the relationship should be from the parent to the child, as shown in Figure 13, which illustrates the major elements of the category schema model and the modeling rules that apply.

The cardinality and other adornments on the association are not necessary for the category schemas.

Figure 13. Rational Asset Manager UML Profile - Category Schemas
boxes with arrows representing subcategories

There are a few modeling rules that the Rational Asset Manager Configurator implements, such as:

  • Apply a KEYWORD to EACH of the category schema elements (classes). They are:
    • Root
    • Node
    • Leaf
  • There MUST be ONLY ONE Root per category schema.
  • You MUST apply the Node keyword to any element that has children.
  • You MUST apply the Leaf keyword to any element that is at the bottom of the tree.

These rules ensure that the only Rational Asset Manager UML Profile element used on category schemas is the Type stereotype used on the class/interface, which is applied automatically when you create a new Type using the Rational Asset Manager UML Profile palette.

Modeling relationship types

To model a relationship type, create a package under AssetTypeConfiguration and create classes there for relationship types. The Rational Asset Manager UML profile is not used for modeling relationship types.

Figure 14. Rational Software Architect relationship type package structure
explorer tree view

On each of the relationship classes representing one end of the relationship, enter the Relationship keyword. Then create an association between each of the classes representing both ends of the relationship, as shown in Figure 15. There are no adornments required on the association, such as cardinality, labels, role names, keywords, or stereotypes.

Figure 15. Rational Software Architect Rational Asset Manager Relationship Types
boxes with Realizes, Specifies, Contains, and Contained By

Modeling custom attributes

To begin, create a package under AssetTypeConfiguration called Custom Attributes, as shown in Figure 16. The Rational Asset Manager UML profile is not used for this part of the model. Next, create a class for each custom attribute and apply the keyword "CustomAttributeString" on the class.

Figure 16. Rational Software Architect custom attribute package structure
explorer tree view

Transforming the Rational Software Architect model to Rational Asset Manager

  1. In the Modeling perspective, in the Project Explorer, select the model element, as shown in Figure 17.
    Figure 17. Rational Software Architect to Rational Asset Manager: select model
    explorer tree view
  2. Select Modeling > Transform > New Configuration to create a new configuration, as shown in Figure 18.
    Figure 18. Rational Software Architect to Rational Asset Manager: New Configuration
    cursor selecting menu option
  3. Complete the New Transformation Configuration dialog as shown in Figure 19, and then click Next.
    Figure 19. Rational Software Architect to Rational Asset Manager: Name and Transformation dialog
    foreground window
  4. Select the Source and Target, and click Next or click Finish.
    Make sure that you select the open model icon as shown in Figure 20. On the target select the Eclipse project where the RAMConfiguration.xmi file will be placed.
    Figure 20. Rational Software Architect to Rational Asset Manager: Source and Target
    foreground window
  5. Now that the transformation configuration is created in the Eclipse project, reselect the model in the Project Explorer and select the transformation to execute it, as shown in Figure 21.
    Figure 21. Rational Software Architect to Rational Asset Manager: execute
    cursor selecting menu option
  6. Go to the Rational Asset Manager Administrator > Tools page (as shown in Figure 22), click Browse, and select the RAMConfiguration.xmi file from the Eclipse project where the Rational Asset Manager UML model is located.
    Figure 22. Rational Asset Manager Administrator: go to the Tools page
    cursor selecting Tools link
  7. Click Import and then determine how Rational Asset Manager should deal with any conflicts, as shown in Figure 23.
    Figure 23. Rational Asset Manager Administrator: import model
    two dialog boxes
  8. If all goes well, you will see the blue notice below, and then you can go to the asset types or other elements of the information model that were imported.
    Figure 24. Rational Asset Manager Administrator: import success
    confirmation dialog

Rational Asset Manager to Rational Software Architect or Rational Software Modeler

This part of the transformation brings the Rational Asset Manager Information Model back into a Rational Software Architect or Rational Software Modeler model. You can do this by performing the following steps.

  1. Create a Rational Software Architect UML model and apply the Rational Asset Manager UML Profile to it.
  2. Set the RAMConfiguration keyword on the model, as shown in Figure 25.
    Figure 25. Rational Asset Manager to Rational Software Architect: Create model with Rational Asset Manager UML profile
    explorer tree and table
  3. Go to the Rational Asset Manager Administrator > Tools page, as shown in Figure 26.
  4. Click Export in the Import and Export Model section shown in Figure 27.
    Figure 26. Rational Asset Manager Administrator: go to the Tools page
    cursor selecting Tools link
    Figure 27. Rational Asset Manager Administrator: export model
    dialog box
  5. Copy the rammodel.xmi file that came from Rational Asset Manager into the Eclipse project, and then refresh.
  6. Create a Rational Asset Manager Configurator -- Rational Asset Manager to UML transformation, as shown in Figure 28.
    Figure 28. Rational Asset Manager to Rational Software Architect: New Configuration
    cursor selecting menu option
    Figure 29. Rational Asset Manager to Rational Software Architect: New Configuration 2
    cursor selecting Next in window
  7. When selecting the source, be sure to select the rammodel.xmi file. When selecting the target, be sure to select the open Rational Asset Manager UML model you have just created, as shown in Figure 30.
    Figure 30. Rational Asset Manager to Rational Software Architect: Source and Target
    window with source and target trees
  8. Right-click the newly created transformation and select Transform > RAM to UML Configuration Transformation, as shown in Figure 31.
    Figure 31. Rational Asset Manager to Rational Software Architect: Execute
    cursor selecting window options
    This will update the model with the Rational Asset Manager Information Model, as shown in Figure 32.
    Figure 32. Rational Asset Manager to Rational Software Architect: updated model
    explorer tree view

You can make modifications to this model, and then use it to configure Rational Asset Manager with the updated model.

The Rational Asset Manager UML profile needs iteration and refinement. But with current capabilities it allows you to create, socialize, and refine the Rational Asset Manager configuration using Rational Software Architect and Rational Software Modeler models.


Summary

IBM Rational Asset Manager supports technical managers, analysts, architects, developers, testers, and others conducting the asset-based development activities of asset production, consumption, and management. The repository is configurable to support specific assets, classifications, and other items relevant to the needs of your enterprise.

The Rational Asset Manager Configurator can use a UML model containing Rational Asset Manager configuration information and transform it to a Rational Asset Manager configuration file that will configure Rational Asset Manager. The transformation also goes from Rational Asset Manager to Rational Software Architect as well. Visualizing the Rational Asset Manager configuration using models enables communication and saves time through a shared understanding of the connections and relationships of the configuration information.


Downloads

DescriptionNameSize
PluginRAMConfigurator_v1.0.8.zip3580KB
Sample modelRAM_v7_SampleConfigurationModel.zip534KB

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=246198
ArticleTitle=IBM Rational Asset Manager Configurator
publish-date=08142007