Skip to main content

Using the IBM Rational Asset Manager Configurator to configure UML model profiles

Use these profiles for models in IBM Rational Software Architect or Rational Software Modeler

Grant Larsen, STSM, Chief-Architect -- Asset Management, IBM

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

Summary:  IBM® Rational® Asset Manager supports technical managers, analysts, architects, developers, testers and others conducting 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 publishes UML models into Rational Asset Manager. It also extracts the configuration and creates a UML model. Visualizing the Rational Asset Manager configuration by using models enables communication and saves time through understanding the connections and relationships of the configuration information.

Date:  23 Sep 2008
Level:  Intermediate PDF:  A4 and Letter (830KB | 24 pages)Get Adobe® Reader®
Activity:  661 views

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 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
diagram illustrating 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
illustration contrasts repository wiht community

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
Diagrams the export and publication oricess.

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.

Environment and installation

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:

  1. 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)
  2. 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)
  3. 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
NameVersionRelease label
Default17.00
Deployment17.00
RAM UML profile43NA

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
directory (tree) of folder structure

Modeling asset types

  1. 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
screen capture of folder structure

Table 2 describes the stereotypes for asset types.


Table 2. UML profile asset types in Rational Asset Manager
UML model elementStereotypeHow applied
Class or interfaceTypeApplied 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 ofYou 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 ofYou 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 ofApplied 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 leastApplied 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 mostApplied 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)
ExactlyApplied 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

  1. 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
RAM Profile Palette

  1. 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.

  1. 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
Instructions with arrows and two screen captures of types

Figure 8 shows the stereotypes on a Type attribute (artifacts in an asset).


Figure 8. Rational Asset Manager UML Profile -- asset type artifacts
Apply Stereotypes pop-up window with 5 listed

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 elementStereotypeHow applied
Association

You must choose only one of these per association
At leastApplied 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 mostApplied 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.
ExactlyApplied 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
RSA UML Profile relationships

Modeling category schemas

  1. 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
RAM UML Profile Palette

  1. 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).
  2. Build relationships by using RAM Asset or Category Relation

Figure 11. Rational Asset Manager UML profile palette -- category schema
Arrow points to RAM Category Schema Element option

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
diagram

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
tree structure

Modeling relationship types

To model a relationship type:

  1. 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
tree structure

  1. On each of the relationship classes that represent one end of the relationship, enter the <<Relationship>> keywords (Figure 15).
  2. 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
Realizes, specifies, contains, contained by

Modeling custom attributes

  1. 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.

  1. Now create a class for each custom attribute (Figure 16), and apply the keyword CustomAttributeString on 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
tree structure screen capture

Validating the Rational Software Architect model for Rational Asset Manager

  1. 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
tree structure screen capture

  1. Select the options for running the validation.
    1. Choose the Rational Asset Manager repository instance (which comes from the Rational Asset Manager Repositories panel)
    2. 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
tree structure screen capture

  1. 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
tree structure screen capture

Publishing the Rational Software Architect model to Rational Asset Manager

  1. 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
Selections highlighted

  1. 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
Select Repository dialog box

  1. Go to the Administration page(Figure 22) and examine the Asset Types, Category Schemas, Relationship Types, and Asset Attributes.

Figure 22. Repository Administration view
All listed under Communication


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.

  1. 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
Models > Blank Model > RAM UML Profile

  1. Right-click on the model and select RAM Configurator > RAM to UML (Figure 24).

Figure 24. Run the transformation
Blank Model > RAM Configurator > RAM to UML

  1. 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.

  1. 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
Extract RAM Configuration button selected

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
Live Validation view

  1. Click OK to continue.
  2. 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
directory (tree) screen capture

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.



Downloads

DescriptionNameSizeDownload method
Plug-inRAMConfigurator_v1.1.3_RSA75.zip3.8MB HTTP
Sample modelRAM_v71_SampleConfigurationModel.zip50KB HTTP

Information about download methods


Resources

Learn

Get products and technologies

Discuss

About the author

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)



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=339330
ArticleTitle=Using the IBM Rational Asset Manager Configurator to configure UML model profiles
publish-date=09232008
author1-email=gjlarsen@us.ibm.com
author1-email-cc=clarkega@us.ibm.com

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