Manage change in mainframe applications with IBM Rational Asset Analyzer: Part 1. Identify assets for change

Software maintenance can require up to 70% of your IT budget, so managing change to shorten the maintenance cycle, reduce risk, and ensure quality is critical in today's economic climate. This series of three articles explains how you can use IBM® Rational® Asset Analyzer to achieve those goals. The focus is on changes to data definitions and data characteristics, but the concepts can be applied more broadly to other application components. These articles also focus on mainframe-based applications: COBOL programs and copybooks, IBM® DB2® data definitions, and CICS applications.


Amy M. Silberbauer (, Executive IT Specialist, IBM

Photo of SilberbauerAmy is currently the Rational Industry Solutions architect lead and a member of the Unleash the Labs team. She specializes in enterprise modernization, service-oriented architecture (SOA), and business process management. She has been with IBM for 25 years, with 22 years in development and six as lead architect of the Rational Asset Analyzer team.

08 November 2011

Goals of managing change with Rational Asset Analyzer

Software maintenance is an organization's largest cost, typically up to 70% of the overall IT budget. In addition, maintenance introduces risk to existing, running applications and must be managed carefully to cause the least disruption in the software development life cycle. This article is Part 1 in a three-part series that describes how to manage changes in a typical maintenance scenario to achieve these goals:

  • Shorten the maintenance cycle
  • Reduce risk
  • Ensure quality

Typical maintenance scenario

To demonstrate the value of automated capabilities provided by IBM® Rational® Asset Analyzer and Rational Asset Analyzer for System z, we examine a typical maintenance scenario and describe a set of best practices for using this software to understand those changes and mitigate risk. These practices are supported by capabilities included in Rational Asset Analyzer that might not be obvious to someone inexperienced in using this software.

The scenario is based on the concept of annual change projects, which are part of a software maintenance life cycle that is common in many large mainframe-based development environments. These change projects often involve updates to data characteristics, so they require changes to software across the portfolio, from IBM® DB2® column definitions to data elements in code, and through data sets that represent input and output of data. These change projects must be evaluated before proceeding with any development. At a high level, the analyst proposing the change must:

  1. Estimate the project scope and cost
  2. Develop a plan to make the change to existing software
  3. Develop a test plan to validate the quality and functionality of the change
  4. Identify developers involved in making the change
  5. Enable developers to make the change

In the absence of automation tools, the analysis of any change request is typically performed manually. On IBM® z/OS® systems, scans of the code through traditional means -- such as scans of the source code management [SCM] library or data sets, or IBM® Interactive System Productivity Facility (ISPF) -- searches are performed to find programs that contain data elements or fields that match specific names or name patterns. The resulting programs are then analyzed manually to identify relationships in the forms of references, declarations, or use between data elements and other programmatic constructs. We refer to this final set of programs as the potentially impacted assets. The process of coming up with this initial set can take a weeks or longer. Additional time is then required for individual owners of those programs to determine:

  • Whether a required change impacts other assets, such as IBM® CICS® or IBM® IMS™ transactions or entry fields on screens
  • Whether a program is obsolete in the software system
  • How to proceed to implement and test the change

About this series

To enable the maintenance scenario, this series of articles demonstrates the following capabilities, using Rational Asset Analyzer. The series includes these three parts:

  • Part 1. Identify assets for change
  • Part 2. Perform change impact analysis to manage scope and risk
  • Part 3. Customize and aggregate impact analysis results

Although change can encompass many different aspects of an application, including changes to interfaces, input and output, or interactions with subsystems, such as CICS or IMS, the most common changes require updates to data. This series of articles focuses on changes to data definitions and data characteristics, but the concepts can be applied more broadly to other application components. These articles also focus on mainframe-based applications: COBOL programs and copybooks, IBM® DB2® data definitions, and CICS applications.


We use this terminology throughout all three parts of this series.

Data element
A data element asset managed by Rational Asset Analyzer is an instance of some representation of data within the context of a Program. Every program stores its instance of a particular memory location, or a map, of what is being declared in the program. This location is named by the data element. A data element is not necessarily the definition of data.

For example, a Copybook ABC has a definition of a field, ABC. That definition is used within two programs (Program 1 and Program 2), each of which has data elements named ABC. There are two data elements created in Rational Asset Analyzer: ABC for Program 1 and ABC for Program 2. They are identified as being defined in Copybook ABC. One symbol is created in Rational Asset Analyzer for ABC. Figure 1 shows a simplified view of this.
Diagram of relationships between data artifacts
Symbols represent more closely what users might think of as data elements, in the sense that they can name the data definition on which multiple data element instances in programs are based. The relationship between a symbol and a data element is 1-M; many data elements with the same name point to a single symbol.

This nuance can be seen in Rational Asset Analyzer from the Symbol details page, which displays a symbol along with the data elements and DB2 columns, as well as other assets that map to the specific instance of a symbol. Figure 2 shows an example of a single symbol that maps to multiple data elements.
Example of a symbol details page
A seed is a starting point for change impact analysis. Rational Asset Analyzer starts from the specified seed, which in this series of articles is a specific data element or DB2 column. It then follows relationships emanating from that seed through control flow, data flow, and input/output flows to create a list of assets that are potentially impacted by a change to the seed asset. This list does not represent what will be impacted by a change, but rather what could be impacted, based on the kind of change made, where the change is made in the application, and so forth.
Change impact analysis
In the general sense, this is the entire set of steps involved in analyzing the impact of a change. In Rational Asset Analyzer, this involves various aspects of the functionality:
  • Exploration
  • Search
  • Impact analysis
  • Custom queries

The point is that change impact analysis should be distinguished from the specific Rational Asset Analyzer Impact Analysis function, which is only one component or step in the overall change impact analysis process.

Identifying seeds

This is perhaps the most critical and the most difficult step in the change analysis process. Unless you can clearly identify the assets that are the focus of a change request, your analysis results will be less useful in managing scope and risk. It requires some level of knowledge about the applications being analyzed and a methodical approach to identifying the set of assets that must be explored. We start with two assumptions:

  • You have "subject matter expert" who knows some of the characteristics of the applications to be analyzed and the data requiring changes. These characteristics might include:
    • Name or name pattern
    • Physical length
    • Logical length
    • Initialization value
  • Data elements and columns are the focus for this scenario, although there are other assets that might be the focus for change projects.

The first step in identifying the set of data that is subject to changes is to use the Rational Asset Analyzer search capabilities. Examples included here are based on the Installation Verification data included in Rational Asset Analyzer and based on the assumption that data has already been added to the Rational Asset Analyzer inventory.

Searching with a name pattern

It is useful to understand any naming conventions or best practices in place in the environment and to rely on those in starting your search. When you know a naming pattern to search on, you can use Rational Asset Analyzer to perform those searches:

  1. Launch Rational Asset Analyzer in your browser either by selecting Start > All Programs > IBM Rational Asset Analyzer > IBM Rational Asset Analyzer V6.0 > IBM Rational Asset Analyzer or by entering the URL. The home page is displayed in your browser.
  2. Select Explore > MVS assets to go to the MVS Assets count page (see Figure 3).
Navigation to MVS assets page from the home page

Larger view of Figure 3.

  1. On the Explore MVS assets count page, perform a search using *PART?NO* as the search pattern by entering that search pattern in the Search MVS asset names entry field (Figure 4), and then clicking Go.
Shows how to search for MVS assets by name

Larger view of Figure 4.

The count of assets matching this name pattern is displayed for each asset type.
  1. Click on the count (results) for Data elements (Figure 5) to go to the "Data element summary" page (Figure 6).
Shows results of search by asset count hyperlinks

Larger view of Figure 5.

  1. The "Data element summary" page displays the set of data elements that match the name search pattern. Bookmark this page for later access by using the Actions drop-down menu and selecting Bookmark this page.
Shows how to bookmark a page for later access

Larger view of Figure 6.

  1. Enter a name and details for the bookmark in the Bookmark dialog window (Figure 7) to create a bookmark that references these data element search results.
Add a bookmark dialog window
  1. Return to the MVS asset count page with the search results, and repeat this process for the matching DB2 columns.

You have performed a search using a name pattern and bookmarked search results for both data elements and DB2 columns.

Searching by name and data characteristics

In the absence of a rigorous naming scheme, or to refine your search further, you can search based on data characteristics, as well. In this next exercise, you refine your search to include data characteristics.

  1. On the Explore MVS assets count page, select the count (total) for data elements to go to the Data element summary page shown in Figure 8.
Shows the Explore MVS assets summary view

Larger view of Figure 8.

  1. Enter the search pattern from the previous exercise, *PART?NO*, in the Search data element name entry field.
  2. Click the Advanced search hyperlink to expand the set of search criteria.
  3. Select CHAR – Alphanumeric Data Elements for data type, enter 4 for the Physical length, and click Go.
Shows selections to perform an advanced search

Larger view of Figure 9.

The results for data elements that match the search name and are of CHAR type with length 4 are displayed.
  1. Bookmark this page for later by using the Actions drop-down menu and selecting Bookmark this page:
Bookmark result of advanced search on data element

Larger view of Figure 10.

  1. Enter a name and details for the bookmark in the Bookmark wizard.
Enter bookmark name, details

You have performed a search using a name pattern, as well as data characteristics, and bookmarked search results for data elements.

Other actions on data elements and columns

After you have established a starting point for your analysis, you can proceed to explore the details about those assets. From your search results, you can click on the asset name and look at a variety of information on that asset's details page. For example, on the Data element details page:

  • You can use the View other same name definitions action to see other data definitions of the same name.
  • If the data element declaration is in a copybook, you can view all source programs that include this same copybook with this data definition.

For DB2 columns, you can:

  • See data elements modified by this column
  • See data elements that modify this column


As a result of this step and the included exercises, you now have a better understanding of the data that you will be using for change impact analysis. You also have a list of data elements and DB2 columns for the next step. By bookmarking the search results, you can easily return to them later, as can anyone with access to this Rational Asset Analyzer instance.



Get products and technologies

  • Download a free trial version of Rational Asset Analyzer.
  • Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.



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

ArticleTitle=Manage change in mainframe applications with IBM Rational Asset Analyzer: Part 1. Identify assets for change