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
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
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
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.
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.
- 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
- 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)
- 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
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
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
The stereotypes for asset types are described in Table 1.
Table 1. Rational Asset Manager UML Profile: Asset Types
| UML Model Element | Stereotype | How Applied |
|---|---|---|
| Class/Interface | Type | This 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 one | Label Of | You 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 Of | You 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 Of | You 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 one | At Least | You 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 Most | You 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. | |
| Exactly | You 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 Least | NotRequired | You apply this in the model to indicate that a custom attribute is not required on an asset type. |
| Required | You 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
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
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
Table 2 introduces the stereotypes on relationships in the profile.
Table 2. Rational Asset Manager UML Profile: asset type relationships
| UML Model Element | Stereotype | How Applied |
|---|---|---|
| Association
You pick only one of these per association | At Least | You 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 Most | You 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. | |
| Exactly | You 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
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
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
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
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
Rootper category schema. - You MUST apply the
Nodekeyword to any element that has children. - You MUST apply the
Leafkeyword 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.
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
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
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
Transforming the Rational Software Architect model to Rational Asset Manager
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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.
- Create a Rational Software Architect UML model and apply the Rational Asset Manager UML Profile to it.
- 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
- Go to the Rational Asset Manager Administrator > Tools page, as shown in Figure 26.
- Click Export in the Import and Export Model section shown in Figure 27.
Figure 26. Rational Asset Manager Administrator: go to the Tools page
Figure 27. Rational Asset Manager Administrator: export model
- Copy the rammodel.xmi file that came from Rational Asset Manager into the Eclipse project, and then refresh.
- 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
Figure 29. Rational Asset Manager to Rational Software Architect: New Configuration 2
-
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
- 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
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
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.
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.
| Description | Name | Size | Download method |
|---|---|---|---|
| Plugin | RAMConfigurator_v1.0.8.zip | 3580KB | HTTP |
| Sample model | RAM_v7_SampleConfigurationModel.zip | 534KB | HTTP |
Information about download methods
Learn
- Read Rational Asset Manager: A comprehensive business scenario,
to learn what Rational Asset Manager does, how it works, and how it can help developers reuse assets.
- Read IBM Rational Asset Manager V7.0.0: Capacity planning and configuration guide, to gain guidance with selecting an appropriate architecture when deploying IBM Rational Asset Manager.
- Learn more about Rational Asset Manager,
which helps you create, modify, govern, find, and reuse any type of development assets, including SOA and systems development assets.
- Read Maximize reuse of your software assets with Rational Asset Manager, Part 1. This demonstration walks you through an introduction and overview of IBM Rational
Asset Manager.
- Read Maximize reuse of your software assets with Rational Asset Manager, Part 2. This demonstration takes you through the process for creating and using assets
with Rational Asset Manager.
- Try the Rational Asset Manager demos. These demonstrations provide a look into the advanced functionality of Rational Asset Manager.
- Visit the Rational Asset Manager product area to learn more.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Download a free trial version of Rational Software Architect.
- Download trial versions of IBM Rational software.
- Download IBM product evaluation versions
and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
Discuss
- Participate in the Rational Asset Manager discussion forum, where you can ask and respond to questions or share your experiences and thoughts with others who are using this software.
- Check out developerWorks
blogs and get involved in the developerWorks community.
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
Comments (Undergoing maintenance)





