What's new: Rational Developer for Power Systems Software version 8.0.3

IBM recently released version 8.0.3 of Rational Developer for Power Systems Software, which provides integrated analysis, development, and debugging tools for IBM AIX, IBM i, and Linux operating systems. Although this is a service release, it contains some significant new functions, which the developer describes in this article.


David Dykstal (david_dykstal@us.ibm.com), Software Architect, IBM

author photoDave is an architect for Rational Developer for Power Systems Software, with a concentration on the IBM i. He has worked with IBM for more than 36 years and has been on the development teams for the System/38, AS/400, iSeries, and IBM i, as well as products for IBM System z and its client software. His technical interests encompass programming languages, object-oriented programming, user interfaces, databases, abstraction, and techniques for writing clean code.

17 January 2012


Installation remains essentially the same as in version 8.0 of IBM® Rational® Developer for Power Systems Software™ and its fix packs. There is now one additional installable feature for COBOL Development Tools for the IBM® AIX® that contains rules for code analysis.

New client platforms

There are several new 64-bit platforms that we now officially support.

Table 1. Platforms supported
Client operating system32-bit64-bit
Microsoft Windows XP Professionalx
Microsoft Windows Server 2003 SE and EEx
Microsoft Windows Vista Business, Enterprise, and Ultimatex
Microsoft Windows Server 2008 SE and EExnew
Microsoft Windows 7 Professional, Enterprise, and Ultimatexnew
Microsoft Windows Server 2008 R2 SE and EEnew
Red Hat Enterprise Linux Desktop 5xnew
Red Hat Enterprise Linux Desktop 6newnew
SUSE Linux Enterprise Desktop 10x
SUSE Linux Enterprise Desktop 11x

Although the 64-bit platforms listed above are supported, the Java virtual machine (JVM) used by Rational Developer for Power Systems Software is still a 32-bit application. We will continue to evaluate moving to 64-bit JVM as the components we use become available in that environment.

Ubuntu clients are obviously missing from the list. While not officially supported, we have had some success in running Rational Developer for Power Systems Software (hereafter, Rational Developer for Power) on Ubuntu 10.04 LTS and later. As you know, in addition to developing code specifically for the operating systems running on IBM® POWER®, we use components in the construction of Rational Developer for Power that are obtained from several sources. Ubuntu is, unfortunately, not supported by all of our suppliers. If you install and run on Ubuntu, any problems that you experience will need to be reproduced on a supported configuration before we can begin work on them.

Non-administrator installations

We now support the installation of Rational Developer for Power by non-administrators. These installations do not modify the common application areas of your client. Instead, they install into user-specific directories.

Non-admin install is not available from the IBM® Installation Manager launchpad. To do a non-admin install, you must directly invoke the appropriate userinst procedure for your client operating system. This is located on your installation media or download file.

Update existing installation or install from media

IBM provides a media refresh for the Rational Developer for Power 8.0.3 release. As a result, you can get the full installation package either by ordering installation media or downloading. If you have a previous 8.0 installation, you can be upgrade directly by using the IBM Installation Manager. For new installations, activation kits are available from IBM Entitled Software Support or from Passport Advantage, depending on your ordering and fulfillment mechanism. Check with your IBM Business Partner for more information about how to upgrade or purchase.

New license options

In addition to the Authorized User licenses and the Floating User licenses, we have introduced fixed-term authorized and floating user licenses for Passport Advantage customers. A fixed-term license is a special type of user license that expires after a specific period of time.

IBM i enhancements

We have received many Requests for Enhancement (RFEs) of the IBM® i operating system support in Rational Developer for Power since we opened the RFE process in April of this year. The improvements described in this section are a direct result of these requests. If you have a specific request in Rational Developer for Power for any IBM® Power Systems™ platform, please enter it on our developerWorks site (see the Resources section for a link), and we’ll try to respond to those that receive the most interest from our community. If we end up rejecting a request due to resource constraints, please feel free to resubmit it at a later date. Problems, of course, should always be reported through the normal service channels.

When you fill out the Search or Submit request forms, use the following selections (also see Figure 1):

Brand: Rational
Product family: Rational family
Product: Developer for Power Systems

Figure 1. The correct entries for submitting a Request for Enhancement
Shows 3 fields with selections described

RFE 10752: Prevent the saving of passwords

See this RFE.

You can now prevent the saving of passwords on connections defined to a particular IBM i system.

The "disable password save" policy is set at the IBM i system to which the client connects. Complete help for defining this policy is available in the product Help section.

If password saving is not allowed, then passwords for this system that are stored on the client are erased and the Enter Password dialog does not show the option to save the password.

Figure 2. The modified Enter Password dialog window
Save user ID option, but no Save password option

The "disable password save" policy takes effect at the client immediately after connection, so there is the possibility that you could save a password when making the connection and have that password immediately erased.

Messages are logged in the .log file of the workspace if the client’s behavior changes as the result of reading the policy. If no policy is present on the IBM i system, no change is made on the connecting client.

The policy is in effect for all connections to this system regardless of IP address or connection name. If there are several connections to this system in a workspace, all of these will be under the control of this policy when the first connection is established.

RFE 11082: Add a preference to not expand the remote systems tree when adding a member

See this RFE.

A new preference has been added to inhibit the expansion and selection of an object in the Remote Systems view when a new resource is created. This is useful if you are creating several members into the same source file. The default is to expand. Uncheck the box to change the behavior.

Figure 3. The new preference for tree expansion, Objects Subsystem view
Expand tree on resource creation box is checked

RFE 11049: Modify Rational Developer Power to support secure sessions

See this RFE.

Rational Developer for Power now supports secure connections to IBM i systems. When an RSE connection is defined and opened to an IBM i system, several underlying TCP connections are made. If the connection is secure, SSL is used from these connections except for debugging, which uses SSH tunneling.

SSL requires some certificate management, most of which is done by an administrator on the IBM i host. Steps to create and manage the SSL certificates are explained in the product Help section. If you use SSL at your location for other reasons, you probably already have much of this in place.

SSH tunneling is transparent to the user and requires no setup on the client side, other than to set the "secure connections" property on the connection (see Figure 4).

Figure 4. The new option for upgrading the security of an IBM i connection
Use secure communications methods check box

RFEs 11116 and 12282: Allow comment and uncomment of a block of selected code

See RFE 11116.

See RFE 12282.

The LPEX editor for RPG has been modified to support the block commenting and uncommenting of both free-format and fixed-format ILE RPG code. The default keys are Ctrl+/ to comment and Ctrl+\ to uncomment.

Figure 5. Before block commenting RPG code in LPEX
Source > Comment selected in drop-down menus
Figure 6. RPG code after the block comment action
Code view

RFE 10523: Allow a different editor to be associated with member

See this RFE.

DSPF and PRTF DDS members now default to the Screen and Report Designers, respectively, as editors for new files. Prior to this release, the file associations for these file types were ignored. With this release, you can set the editor associations for these file types. The defaults are those respective designers.

Figure 7. Making Screen Designer the default editor for the .DSPF source type
File type and Associated editor options

RFE 10437: Content Assist - Show Decimal Positions

See this RFE.

The LPEX editor now shows the number of decimal positions for packed and zoned variables when using Content Assist in ILE RPG. Prior to this release, only the total number of digits was shown.

Figure 8. Content Assist now shows decimal positions
Example shows: AX packed (3,0)

RFE 10152: Verify "Defines" can now be made sticky

See this RFE.

Prior to this release, the "defines" used in the verify operation were taken from the preferences, but there was no way to modify the preferences directly from the verify dialog window. As a result, if you had a set of defines that you used several times, you would potentially have to re-enter them each time. With this release you can save these preferences from the Program Verification Options dialog window.

Figure 9. Program verification options
Cursor points to Save settings check box

Sort fields by position in screen and report designers

The Sort action can now be invoked at the record level in the Screen And Report designers. This reorders the fields in the generated DDS by their positions on the screen or page. This action had previously been available only when selecting a field.

System Entry Point easier to use

The debug server will now be started automatically if a System Entry Point breakpoint is added. This relieves the user from having to go look to check whether the debug server has been started. If the user is not authorized to the STRDBGSVR command, then adding the SEP breakpoint will fail.

Push enhancement

A comment now appears in the console log when the contents of a file are being pushed from an IBM i project. Previously, there was no indication in the log if the contents were being uploaded if there were no corresponding attributes being set. This leaves a record of the push action in the console where it can be reviewed later.

Common AIX and Linux support

Reconciler updates

A pushpull project is one where the source for the project exists on both the remote system and the local workspace. Both the C/C++ support for Linux and AIX and the COBOL support for AIX depend on a common component for maintaining synchronization of resources for push/pull projects. This component, called the Reconciler, has been changed somewhat in this release.

If you define a push/pull project, you have two copies of the file that you can work on: a local copy and a remote copy. If both of these are edited without synchronizing the file between edit sessions, the two copies of the file conflict and must be reconciled. In this release, the software detects these conflicts and shows them in the Remote Reconciler view. This allows you compare the two files and take appropriate action to synchronize them.

Conflicts are detected either when a Synchronize action or a Push Selected action is taken on a resource in the Reconciler view. If this occurs, the file is not transferred in either direction, and a conflict decorator (icon) is shown on the file in both the Project Explorer and the Remote Reconciler views, as Figure 10 shows.

Figure 10. Conflict decorator in the Project Explorer
Decorator is overlapping red diamond shapes

The same function can be used to detect whether an update has occurred on a remote file. When this happens, the file is shown in the Remote Reconciler view and the Project Explorer view with a "remote changes decorator.

Figure 11. Remote Resource Changed decorator
Remote Changes icon, a blue arrow that points left

If a file or folder is new on the remote system, the decorator will show a plus sign to indicate that the file or folder is new.

Figure 12. The New Remote Resource decorator
Left-pointing blue arrow with white plus sign

Automatic synchronization can be turned on to have the synchronize action execute periodically. This enables the Remote Reconciler view to remain up-to-date.

Push/pull projects have had a Push on Save capability. In this release, we have added a Pull on Remote Update capability, as well. When a remote update is detected for a project with this attribute, the remote file is downloaded to the project during a synchronize action if no conflict has been detected.

Figure 13. The new Pull on Remote Update setting for projects
Remote Reconciler tab, drop-down menu

You might find it desirable to hide various folders in your project from push/pull operations. You can now disable synchronization for a folder from the Remote Reconciler view by using the Ignore action.

Figure 14. The new Ignore Folder During Synchronization setting
Ignore selected on drop-down menu

You can also set this for a folder in the Project Explorer by using its Remote Folder Properties page (see Figure 15).

Figure 15. The "Properties for data" page equivalent for "Ignore Folder During Synchronization"
Remote Folder Properties: Disable Push/Pull option

Finally, as a convenience, you can now start a terminal as well as a shell directly from the Remote Reconciler view.

Figure 16. The new "Launch Terminal" action
Launch Terminal selected in drop-down menu

The terminal is started with the selected folder as the current directory.

Figure 17. An example of a terminal view
Terminal tab screen output

Launch configuration updates

When you use a launch configuration to run a program on a remote AIX or Linux system, you can now specify that you want to run that program in an SSH terminal.

Figure 18. The new "Run with SSH" option of the launch configuration
Create, manage, and run configurations page


New COBOL editor

A new editor has been created for COBOL on AIX systems. This new editor is integrated more deeply into the Eclipse editor framework than the Remote Systems LPEX editor, and it provides functions that are not available in the LPEX editor:

  • Capitalization and Indentation Formatter
  • Quick Fix
  • Surround With
  • Task Tags
  • Mark Occurrences
  • Range Indicator
  • Hex Editing

These are described in some detail in the subsections that follow.

The Remote Systems LPEX editor remains the default editor for AIX COBOL, but you can select this new editor as the default for .cbl and .cpy files if you prefer. This editor will be the one enhanced in further releases of Rational Developer for Power for AIX COBOL.

Capitalization and indentation formatting

These are controlled by preferences affecting this editor and can be applied from the Source context menu in the editor. The Content Assist feature also respects these settings.

You can find the indentation and capitalization setting under Windows > Preferences > COBOL > Editor > Formatter.

Figure 19. AIX COBOL editor Formatter preferences
Formatter options in Preferences

Figure 20 shows a selection in the editor where we will apply a set of indentation and capitalization formatting preferences , to illustrate this option.

Figure 20. COBOL source code before formatting for capitalization
Mixed sentence (initial capital) and all-capitals cases

Pressing CTRL+SHIFT+F or selecting Source > Format from the context menu transforms the above selection into the one below.

Figure 21. COBOL source code after capitalization
Actions are now in all caps

Quick Fix

You can hover your cursor over the highlighted line on the text or the light bulb icon in the editor margin associated with a warning or an error to get a Quick Fix pop-up window that suggests fixes. Selecting a fix will apply it to that portion of your code.

Figure 22. Quick Fix example
Change to PERFORM suggested to correct PERFRM

Surround With menu

The Surround With context menu in the editor offers a choice of configurable templates that you can use to augment your code.

Figure 23. Surround With example
Evaluate, If, Perform options and conditions

Task tags

You can now insert tags into comments in your code. These are parsed by the new COBOL support and added to the Tasks view. Double-clicking on a task takes you immediately to the appropriate line in the COBOL editor. You can use this for reminders to go back and finish incomplete or questionable implementation in your code. The FIXME and TODO tags are predefined, but you can add new ones in Windows > Preferences > COBOL > Editor > Task Tags.

Figure 24. Task tags in Comments example
(Example highlighted) TODO: Code cleanup here

Mark Occurrences option

You have the ability in the editor to select an item and have all of its occurrences in the source file highlighted. You can toggle this with the new Mark Occurrences button in the tool bar.

Figure 25. Mark Occurrences example
Fail-counter as example

Range indicator

A range indicator in the new COBOL editor shows the range of the containing paragraph or division. This indicator is on the left side of the editor window. A following EXIT paragraph is included in the range if it is present.

Figure 26. Range indicator example
Cyan-colored vertical bar on left side spans range

Hex editing

You can turn on the hex editor table by clicking the Toggle Hex Editing icon in the toolbar.

Figure 27. The Toggle Hex Editing button
Icon shows 0x

When hex editing is turned on, a table appears at the bottom of the editor window that allows hexadecimal entry in the current line.

Figure 28. The Hex Editing table
Table with two rows of cells along bottom

New structured COBOL comparison editor

You can compare two files directly to each other or compare a file to previous generations of its local history. In Eclipse-based tools, these comparisons are done using a "compare editor." Prior to this release, the compare editor for AIX COBOL files was a simple text comparison. In this release, we have introduced a structured COBOL compare editor. This editor understands the structure of a COBOL program and can isolate changes to a particular structure if the files are similar enough.

Figure 29. Comparing COBOL source files
Comparison of two versions of a .cbl file

New COBOL code analysis

A new static analysis engine has been added to Rational Developer for Power Systems. In conjunction with language-specific support, this engine is capable of rules-based analysis of the source code in projects. The AIX COBOL support takes advantage of this new engine to provide code quality rules, such as requiring PERFORM statements to not have a THROUGH clause or disallowing the use of GOTO or ALTER. These rules can be gathered into sets and applied to a single file, a set of files, a project, or the entire workspace. Individual rules can be selected to be included in the set, and multiple named sets can be constructed.

There are new views and actions that take advantage of this.

The code analysis feature is not installed by default. You need to select the feature during installation or add it by modifying the current installation, using the Installation Manager.

To use this feature, you construct a software analyzer configuration and then run it on the workspace, a working set of files, or a single file.

Figure 30. The Software Analyzer menu
Software Analyzer Configurations option selected

The configuration editor presents dialogs that allow you to collect rules that will be employed in an analysis. This collection is referred to as a configuration. The rules that Rational Developer for Power supplies are developed to enforce certain coding standards, and because internal standards vary from company to company, there are rules in the set that appear to conflict with each other. You can select those rules that meet the standards for your project, team, or company. Rules are categorized to assist with this selection.

Figure 31. Software Analyzer Configurations window
Rules tab view

You can add custom rules based on templates and organize these rules into categories of your own. These new rules are added in Windows > Preferences as shown in Figure 32.

Figure 32. Preferences for custom rules
Custom Rules and Categories pane in Preferences

Running the analysis produces a report in the Software Analyzer Results view. Figure 33 shows an example. Double-clicking an instance of an infraction will bring up the COBOL editor and position your cursor at the offending line.

Figure 33. A Software analysis report
COBOL Code Review, Software Analyzer Results tab

New split/join behavior when editing in LPEX

Prior to this release if you were editing AIX COBOL in the LPEX editor pressing Enter in the middle of a line would cause the line to split and the new line to begin in the leftmost column. With this release the new line will be indented to the same level as the original line. Likewise, prior to this release, joining lines by pressing the delete key at the end of a line could result in the joined line running past ending column. With this release the line is joined, but could again be automatically split near the end if it would run past the ending column. String literals, variable names, and reserved words are always left intact.

C/C++ on Linux and AIX

Remote GNU C Tool Chain support

The GNU C compiler (gcc) is now supported when connected to a Linux server that is running on a Power System. You can select Remote Linux GCC Tool Chain during project creation or in the project Properties view after the project has been created.

This support is for Linux servers only, because the tool chain is not available on AIX.

XL C v11 compiler options support

Version 11 of the IBM XL C compiler has added a number of new options. These are now supported.

Offline indexing support

The indexing component of the C/C++ support is responsible for gathering information on the use of entities such as variables and functions in C/C++ programs. These are used to construct the call hierarchy and type hierarchy views and Content Assist options.

Prior to this release, an index would be reconstructed when files were added, changed, or removed in a project. Therefore, indexing large remote projects could take a considerable amount of time. With the new offline indexing support, indexes can be constructed in the background on the remote Linux or AIX system and then used by the project. Both the IBM XL and GNU C/C++ parsers are supported. This greatly improves the responsiveness of project creation from existing directories on the target system.

To run the offline indexer, run the offlineIndexer.sh shell script, which is located under the RDp server directory on the remote server (/opt/IBM/RDPower/8.0/rse). After the index is constructed, it can be imported into the workspace for the project. By using this support, you can share a previously created index from a remote project directory with others. (A Help section for this function is available, as Figure 34 shows.)

Figure 34. Help for offline indexing in C and C++
Help section table of contents and introduction

Associate or remove local location wizards

You can work with a local copy of a remote project and have that local copy synchronize with its remote counterpart. This synchronization can be done manually or set up to take place automatically. You might want to do this to take advantage of an Eclipse-based source control manager, such as IBM® Rational Team Concert™. You can also define your projects so that you are working directly on the remote resources.

New Associate and Remote Local Location wizards have been defined so that you can control this remote and local relationship. Thus, for example, you can now take a project that had been defined as remote-only and turn it into a synchronized remote and local project.

Offline support

You can now take a workspace offline. That is, you can temporarily detach the remote C/C++ projects from their remote location. Projects that are remote-only will be associated with a local location. Projects that were already remote and local will be synchronized. From that point, the project changes will be made locally and tracked. When the workspace is taken back online, the changes will be reconciled with their previous remote location.

You can take the workspace offline and back online by using the Offline/Online button in the Remote C/C++ perspective.

Figure 35 shows the location and appearance of the "go offline" button. This is the default location for this button, but it can be moved to other locations on the workbench.

Figure 35. Location and appearance of the Go Offline indicator
The go offline button in the lower-right corner

While offline, you can edit the files in the projects in your workspace, but you cannot build or debug your project until you reconnect to the remote system.



Get products and technologies



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

Zone=Rational, DevOps
ArticleTitle=What's new: Rational Developer for Power Systems Software version 8.0.3