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 use. The asset metadata is organized by using the Reusable Asset Specification (RAS) maintained by the Object Management Group (OMG).
An asset has several major characteristics:
- A collection of zero or more artifacts: files, binaries, models, tests, â¦
- Relationships to other assets: dependencies, aggregation
- Classification: tagged values and terms to classify assets
- Usage measurements: who uses the asset, what defects it has
- Access control: who can do what with the asset
- Policies: descriptions of proper structure and content for asset
- Type: the fundamental characteristics that describe the nature and
meaning of the asset, as shared by all assets of that type, such as
"component" or "service," which distinguish
it from other types, including these characteristics (also see Figure 1):
- Metadata for that type (adding to RAS metadata)
- Specific artifacts
- Relationships to other asset types
- Classifications
Figure 1. Asset characteristics
Examples of asset types include applications, components, business process models, services, patterns, or designs. This extensible structure for assets permits enterprises to specify the nature and control over 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 that the repository administrator configures in the Information Model, as shown in the image in Figure 2.
Figure 2. Configuration Overview
When configuring the category schemas, asset types, asset attributes, and relationship types in Rational Asset Manager, the changes submitted are immediately available and in force 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 form for communicating the items of the Information Model is using models. Using a UML model to describe elements of the Information Model provides visualization of the configuration.
The Rational Asset Manager Configurator publishes IBM® Rational® Software Architect and IBM® Rational® Software Modeler models directly into Rational Asset Manager by using the Rational Asset Manager V7.1 API. The Rational Asset Manager Configurator also extracts the Rational Asset Manager configuration when building a Rational Software Architect or Rational Software Modeler model (see Figure 3).
Figure 3. Diagram of how the Rational Asset Manager Configurator works with Rational Software Architect
The Rational Asset Manager Configurator provides a UML profile that is used in building the Rational Software Architect or Rational Software Modeler models. The models describe asset types, category schemas, relationship types, and custom asset attributes to configure Rational Asset Manager. However, at this point, the UML profile is used mostly for modeling the asset types and category schemas. The relationship types and custom attributes are modeled by using regular UML classes and associations. A description of how to build the models follows.
The Rational Asset Manager Configurator was built using Rational Software Architect Version 7.5 on Microsoft® Windows® XP. You need to have the Rational Software Architect or Rational Software Modeler extensibility features turned on for the configurator to work. This has not been tested on Rational Software Architect for Linux®.
Follow these steps to install the Rational Asset Manager Configurator:
- Create a local update site for Rational Asset Manager Configurator. Choose a location on the file system where you want to extract the contents of the update site .zip file (RAM_v71_Configurator_v1.1.3.zip)
- In Rational Software Architect, create a local update site and select the Rational Asset Manager configuration feature to install (select Help > Software Updates > Find and Install)
- Restart Rational Asset Manager.
Using Rational Software Architect or Rational Software Modeler with Rational Asset Manager
A sample Rational Software Architect model is provided in the RAM_v71_SampleConfigurationModel.zip file in the Downloads section. It shows how to create the Rational Software Architect models to work with the Rational Asset Manager Configurator. To begin either, use the sample model provided 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 Table 1 shows.
Table 1. Rational Asset Manager UML profile to apply in Rational Software Architect
| Name | Version | Release label |
|---|---|---|
| Default | 1 | 7.00 |
| Deployment | 1 | 7.00 |
| RAM UML profile | 43 | NA |
Figure 4 shows the expected Rational Software Architect model structure, and each of the major model sections is described thereafter.
Figure 4. Rational Software Architect model package structure
- To model asset types, create a package called
AssetTypeConfiguration, and add the Asset Types, Custom Attributes, and Relationships subpackages as shown in Figure 5.
Figure 5. Rational Software Architect asset type package structure
Table 2 describes the stereotypes for asset types.
Table 2. UML profile asset types in Rational Asset Manager
| UML model element | Stereotype | How applied |
|---|---|---|
| Class or interface | Type | Applied automatically when you create a Rational Asset Manager Asset Type in the model |
| Class or interface (Type)
attribute Choose only one of these per attribute on the Type. Even though several can be selected, pick only one. | Label of | You apply this in the model when describing the nature of artifact for the asset, which 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, which means that a file with the specified file extension must be in the asset | |
| Format of | Applied by you in the model when describing the nature of artifact for the asset, which means that the artifact must be of a specific format | |
| Class or interface (Type)
attribute You pick only one of these per attribute on the Type (several can be selected, but choose only one) | At least | Applied by you in the model when describing the nature of the artifact for the asset (qualifies the nature of the cardinality: If the multiplicity is "1," with this selected it says that "at least one" of this artifact must be in the asset) |
| At most | Applied by you in the model when describing the nature of the artifact for the asset (qualifies the nature of the cardinality: If the multiplicity is "1," with this selected it says that "at most one" of this artifact must be in the asset) | |
| Exactly | Applied by you in the model when describing the nature of the artifact for the asset (qualifies the nature of the cardinality: If the multiplicity is "1," with this selected it says that "exactly one" of this artifact must be in the asset) | |
| Class or interface (Type)
attribute You use this only when describing a custom attribute on an asset type; you do not use these stereotypes when describing artifacts, such as "Label of" or "At Least" | NotRequired | Applied by you in the model to indicate that a custom attribute is not required on an asset type |
| Required | Applied by you in the model to indicate that a custom attribute is required on an asset type |
- To create asset types in the model, create a freeform diagram or a class diagram and use the RAM Asset Type (Figure 6), adding it to the Asset Types package.
Figure 6. Rational Asset Manager UML profile palette
- To create relationships between asset types, use the RAM Asset or Category Relation, shown previously in Figure 6.
Note:
A brief description of modeling the asset types and
relationship is shown in Figure 7, which follows.
- When describing an artifact on an asset, use the "String" type on the attribute. If you are defining a custom attribute on the asset, then use "CustomAttributeString " for the type. The name of the Custom Attribute on the asset must be the same as the CustomAttribute class created in the model.
Figure 7. Rational Asset Manager UML profile -- asset types
Figure 8 shows the stereotypes on a Type attribute (artifacts in an asset).
Figure 8. Rational Asset Manager UML Profile -- asset type artifacts
Table 3 introduces the stereotypes on relationships in the profile. These stereotypes must be applied for the RAM Configurator to work properly. The RAM Configurator â UML validator (described below) will test for the proper use of these stereotypes.
Table 3. Asset type relationships in a Rational Asset Manager UML profile
| UML model element | Stereotype | How applied |
|---|---|---|
| Association You must choose only one of these per association | At least | Applied by you in the model when describing the nature of the association for the asset, which qualifies the nature of the cardinality: if the multiplicity is "1," with this selected it says that this asset is associated with "at least 1" asset of the asset type on the other end |
| At most | Applied by you in the model when describing the nature of the association for the asset, which qualifies the nature of the cardinality: if the multiplicity is "1," with this selected it says that this asset is associated with "at most 1" asset of the asset type on the other end. | |
| Exactly | Applied by you in the model when describing the nature of the association for the asset, which qualifies the nature of the cardinality: if the multiplicity is "1," with this selected it says 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 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 9 shows a sample of the stereotypes applied on the relationships.
Figure 9. Rational Software Architect UML profile -- asset type relationships
- For each category schema, create a UML package and name it using these naming conventions (also see Figure 10):
- RAMConfuration, Asset Entity Type, Categories
- AssetTypeConfiguration
- CategorySchema: Business Domain
- CategorySchema: DMAIC Process
- CategorySchema: Geography
- CategorySchema: Rational Unified Process
- CategorySchema: SOA
- CategorySchema: Technology Stack
Note:
The naming convention is really only a best practice, but the
category schema should be in its own package.
Figure 10. 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 (Figure 11).
- Build relationships by using RAM Asset or Category Relation
Figure 11. 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 12, 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 12. Rational Asset Manager UML profile -- category schemas
These are the few modeling rules that the Rational Asset Manager Configurator implements:
- Apply one of these keywords to each of the category schema
elements (classes):
- 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 to any element that is at the bottom of the tree.
Thus, the only Rational Asset Manager UML profile element used on category
schemas is the Classificationstereotype that is used on the
class or interface, which is applied automatically when you create a new category schema element such as a "Root", a "Node", or a "Leaf" by
using the Rational Asset Manager UML profile palette and then applying the respective keyword to that element.
Figure 13. Selecting Category Schema element from Rational Asset Manager UML Profile palette
To model a relationship type:
- Create a package under AssetTypeConfiguration (Figure 14), and create classes there for relationship types.
Note:
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 that represent one end of the
relationship, enter the
<<Relationship>>keywords (Figure 15). - Then create an association between each of the classes, representing both ends of the relationship.
Note:
There are no adornments required on the association, such as
cardinality, labels, role names, keywords, or stereotypes.
Figure 15. Rational Software Architect relationship types in Rational Asset Manager
- To begin, create a package under AssetTypeConfiguration called
Custom Attributes.
Note:
The Rational Asset Manager UML profile is not used for this
part of the model.
- Now create a class for each custom attribute (Figure 16), and apply the
keyword
CustomAttributeStringon the class. You can create Custom Attributes on Asset Type classes by adding an attribute to the class and setting its Type as "CustomAttributeString"; make sure you apply the "Required" or "NotRequired" stereotype to that attribute on the class. The UML validator will verify if you have done it properly.
Figure 16. Rational Software Architect custom attribute package structure
Validating the Rational Software Architect model for Rational Asset Manager
- Select the open model and click the RAM Configurator > Validate UML for RAM option (Figure 17).
Figure 17. Select model to validate for Rational Asset Manager
- Select the options for running the validation.
- Choose the Rational Asset Manager repository instance (which comes from the Rational Asset Manager Repositories panel)
- Select Verbose messages in Console if you want a finer-grained summary of the validation. Not selecting this will still show summaries and errors which need to be addressed (Figure 18).
Figure 18. Select options to validate UML for Rational Asset Manager
- Examine the output in the Console window, make refinements to the model, and re-validate if needed. Note that all of the actions on the RAM Configurator menu will produce output in the Console window. This validator verifies that Asset Type associations have the right stereotypes on them, and Asset Type artifacts have the right stereotypes on them, and so forth (Figure 19).
Figure 19. Console messages from UML model validation
Publishing the Rational Software Architect model to Rational Asset Manager
- In the Modeling perspective within the Project Explorer, select the model element, as shown in Figure 20, and then select RAM Configurator > UML to RAM.
Figure 20. Select the model to use
- Select the user or repository connection that you will use to publish to the Rational Asset Manager repository (Figure 18).
Tip:
If you select the "Capture log" check box, the
configurator will create a file name and insert the model name into that file
name, and will also log information model elements that are published. This log
file is placed in the Eclipse workspace. When you are ready, click the
Configure RAM button.
Figure 21. Select the repository connection and log file
- Go to the Administration page(Figure 22) and examine the Asset Types, Category Schemas, Relationship Types, and Asset Attributes.
Figure 22. Repository Administration view
Publishing from 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 a Rational Software Modeler model.
- Create a Rational Software Architect UML model, and apply the RAM UML Profile (Figure 23).
Figure 23. Create a model with a Rational Asset Manager UML profile
- Right-click on the model and select RAM Configurator > RAM to UML (Figure 24).
Figure 24. Run the transformation
- Select the user or repository connection to extract from Rational Asset Manager.
Tip:
If you click the "Capture log" check box,
then a log file will be created that details the model elements that are being
created from the Rational Asset Manager configuration. This log file is placed in
the Eclipse workspace.
- Then click the Extract RAM Configuration button (Figure 25). A collection of messages will appear in the Console window, showing summaries and any errors of the transformation. If you click the Verbose messages in Console check box, then you will have a finer-grained set of information messages, outlining the asset types, category schemas and so forth.
Figure 25. Rational Asset Manager to Rational Software Architect â Select Repository Connection and Log File
Note:
If the Rational Asset Manager configuration contained
duplicates, such as category schema values that were the same, then Rational
Software Architect or Rational Software Modeler notifies you of the duplicates in
the UML model, as Figure 26 shows.
Figure 26. Warning about duplicates
- Click OK to continue.
- Review the updated model (see Figure 27). You will need to create diagrams and drag the model elements onto the diagram.
Figure 27. Updated model
When extracting the Rational Asset Manager configuration and creating a UML model, the UML API does not permit associations with a cardinality of 0 (zero). However, a Rational Asset Manager asset type can have 0 cardinality on a relationship, indicating it is optional. As a result, when the model is generated, a 0..1 will be used to illustrate this. The Rational Asset Manager Configurator is not really intended for round-trip configuration, given this constraint.
To use the model to configure Rational Asset Manager after extracting from it, you will need to modify the cardinality on the associations that are intended to be 0 (zero) for the configuration.
The Rational Asset Manager UML profile needs iteration and refinement. Even so, with current capabilities, it allows you to create, socialize, and refine the Rational Asset Manager configuration by using Rational Software Architect or Rational Software Modeler models.
| Description | Name | Size | Download method |
|---|---|---|---|
| Plug-in | RAMConfigurator_v1.1.3_RSA75.zip | 3.8MB | HTTP |
| Sample model | RAM_v71_SampleConfigurationModel.zip | 50KB | HTTP |
Information about download methods
Learn
- Visit the
Rational software area on developerWorks
for technical resources and best practices for Rational Software Delivery Platform
products.
- Explore
Rational computer-based, Web-based, and instructor-led online courses.
Hone your skills and learn more about Rational tools with these courses, which
range from introductory to advanced. The courses on this catalog are available for
purchase through computer-based training or Web-based training. Additionally, some
"Getting Started" courses are available free of charge.
- Subscribe to the
Rational Edge newsletter
for articles on the concepts behind effective software development.
- Subscribe to the
IBM developerWorks newsletter,
a weekly update on the best of developerWorks tutorials, articles, downloads,
community activities, webcasts and events.
- Browse the
technology bookstore
for books on these and other technical topics.
Get products and technologies
- Download
Rational Asset Manager.
- Download
trial versions of IBM Rational software.
- Download these
IBM product evaluation versions
and get your hands on application development tools and middleware products from
DB2®, Lotus®, Tivoli®, and WebSphere®.
Discuss
- Check out
developerWorks blogs and
get involved in the
developerWorks community.
-
Rational Software Architect, Data Architect, Software Modeler, Application Developer and Web Developer forum: Ask questions about Rational Software Architect.
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





