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

IBM recently released Version 8.5 of Rational Developer for Power Systems Software, which provides integrated analysis, development, and debugging tools for IBM i, IBM AIX, and Linux operating systems. This article describes the significant changes in this release.

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.



27 November 2012

Also available in Portuguese

Installation

Installation remains essentially the same as for Version 8.0 and subsequent releases. There is now one additional installable feature for the Performance Advisor for IBM® AIX® and Linux systems.

Client platforms

Ubuntu support has been added in this release.

Table 1. Clients supported by Rational Developer for Power Systems Software
Client operating system32-bit64-bit
Microsoft Windows XP Professionalx
Microsoft Windows Server 2008 SE and EExx
Microsoft Windows 7 Professional, Enterprise, and Ultimatexx
Microsoft Windows Server 2008 R2 SE and EEx
Red Hat Enterprise Linux Desktop 5xx
Red Hat Enterprise Linux Desktop 6xx
SUSE Linux Enterprise Desktop 11x
Ubuntu 10.04 LTS (32-bit JVM only)newnew

In addition, you can now install IBM® Rational® Developer for Power Systems™ Software with a 64-bit Java virtual machine (JVM) on a 64-bit platform. If you install with a 64-bit JVM, all of the products you want to install into the same package group must also support installing with a 64-bit JVM, however. If a product has only a 32-bit version, such as the IBM Data Studio, you cannot install it into a 64-bit JVM package group.

The JVM installed with the product has been updated to the IBM JVM 7.0.

Install from media

IBM provides a media refresh for the 8.5 release. You can get the full installation package by ordering installation media or downloading. This is a new point release rather than a service release, so you cannot update existing installations using the IBM Installation Manager. You must do a new installation. Activation kits are available from 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.


IBM i requests for enhancements

The IBM i support in Rational Developer for Power Systems Software has received many requests for enhancement since we opened the RFE process in April 2011. We have one of the most active RFE communities within the Rational software group. The improvements that follow are a direct result of these requests (see Resources for links to each RFE mentioned in this article).

You can enter a request on our developerWorks site, and we’ll try to respond to those that receive the most interest from the community. If we reject a request due to resource constraints, please feel free to resubmit it at later. See the Resources section for a link to where you can enter new requests for enhancement (RFEs).

Note:
Always report problems through the normal service channels, though.

When you fill out the search or submit request forms, use these entries from the drop-down menu (as shown in Figure 1):

  • Brand: Rational
  • Product Family: Design & development
  • Product: Developer for Power Systems
  • Component: All components (default)
  • Status: All statuses (default)
Figure 1. The correct entries for submitting a request for enhancement
Field selections made as described

RFE10303: Implement live updating for the RPG outline

This RFE received the most votes for this release.

Figure 2. The RPG live outline
Outline tab view

In the past, you were required to refresh the outline view in RPG when you wanted it updated. This was different from most other languages supported in an Eclipse environment. That was partly because the data used when creating an outline came from externally referenced files on the host system. Refreshing the outline caused a revalidation of not only the source in the editor but also of these external references. This was a long-running operation, of course.

We retained the same structure as the original outline view, but now it appears immediately upon opening the file and refreshes immediately when changing lines in the source file. To accomplish this, we rewrote the underlying parsing mechanism for RPG to provide the data for doing a fast local refresh. As a result, we can also provide a bit more information in the outline. As you would expect, this outline updating occurs only for changes made in the local file. Fields from externally referenced files and copybooks are not updated until you refresh manually.

You can watch a video of the new outline view in action on the IBM Rational YouTube channel (see the link in Resources).

In addition to providing a responsive outline, this will enables us to add more syntax-related features to RPG support in the future.

RFE11093: Set the keyboard focus to command field in the command log view

Rational Developer for Power Systems now allocates more space to the command entry area in both the Commands Log and Object Table views. In addition, the command entry field in the Commands Log view now has a keyboard focus when the view is activated.

Figure 3. The new layout for the Commands Log
Commands Log tab view

RFE11322: Activate the Compile menu in the i Projects perspective when a source member is open

Before this release, you had to invoke a compile action on a member in an IBM i project by using the context menu on the member in the IBM i Projects Navigator view. Now that action is available directly by using the Remote Actions menu from the source member.

Figure 4. Compile commands available when editing IBM i project source code
Remote Actions selected to show compile menu

If the member is modified, it is saved to the project and then pushed to the IBM i system and compiled.

RFE11054: Show a Last Used column in the object table

Version 8.5 adds a Last Modified column in the object table. You can sort by this column for both members, as Figure 5 shows, and for objects. To add this column to the view, you must modify the view by using menu to either select columns to show or to show all columns.

Figure 5. New columns added to the object table
object table tab view shows the added column

RFE11621: Add a File Name column to object table member list

As you can also see from Figure 5, File and Library columns have also been added to the object table. You must modify the view to show these columns.

RFE11085: Add a preference for the date format for the object table

Figure 6. The new date format options for the table view
preferences for date column format

You can now set the format for dates and times used in the object table, as you prefer.

RFE14130: Add preferences for the RPG block comment action introduced in 8.0.3

One of the enhancements from Version 8.0.3 received has been further enhanced, based on feedback from customers. You can now control the way you comment out blocks of RPG code.

Figure 7. The new block comment preferences for RPG
ILE RPG preferences dialog window

You can now choose to overwrite column 7 rather than shift the line. This option is useful if you usually comment or uncomment lines of fixed-format C specifications. When you use the Comment operation with this option, the software first checks to see whether any non-blank characters are in column 7 on the selected lines. If there are, it will not perform the operation.

There is a comparable option for free-format calculation lines.

RFE14298: Show the text description of a source member when selected in an i Project

The properties sheet for source members in an IBM i project has been enhanced to show the text description of that member. You can modify the member description from the property sheet, as well.

Figure 8. The text description for i Project members
selected IBM i Project member and its description

RFE14682: Support creating a filter when Go Into is used

This was actually a bug in the underlying Eclipse components that we use. We requested and incorporated a fix.


Other IBM i changes

IBM i cache expiration

In this release, we added a preference to control the object cache expiration.

Figure 9. The Preferences page for object caching
preferences dialog to set IBM i cache expiration

You can now specify the length of time before the IBM i object cache expires. When an object cache is used, the IBM i support will check whether this cache has expired according to this preference. If the cache has expired, Rational Developer for Power will clear the cache before retrieving the object information from the IBM i system.

Reconciler support

We updated IBM i projects to use the common Reconciler view used by AIX and Linux systems. The Reconciler view shows the resources in a project and their states of synchronization state with the host system. This is somewhat like the Show Remote Resources operation already available in the i Projects Navigator, but it is more powerful, because you can set it to push on save and pull on remote change automatically. Remote changes are recognized when the remote system is refreshed. You can set this to happen automatically at a particular interval, or you can manually request a refresh.

The Reconciler view appears in new instances of the IBM i Projects Perspective. You can add it to existing instances by selecting Window > Show View > Remote Reconciler. If you are on a slow connection or have many resources in a project, the reconciler might take longer to refresh. If you prefer, you can tell the reconciler to ignore IBM i projects.


Enhancements for AIX COBOL

New default editor

The COBOL Editor introduced in the 8.0.3 release is now the default editor for .CBL files. Previously, the default editor was the Remote Systems LPEX editor. You can still use LPEX, but the new editor has more functions and is the one that will show improvements in future releases.

The default editor (see Figure 10) is now determined by the type of file you are opening, such as CBL, and by the type of target system that it is associated with. You can change this behavior in the preferences for AIX COBOL (Preferences > COBOL > AIX > Default Editor). This overrides the preferences set for the File Association (Preferences > General > File Associations) so the platform can use the target system in determining the default editor.

This new editor still lacks bidirectional language support, as well as some support for target system double-byte character sets. Continue to use the Remote Systems LPEX editor in those cases.

Figure 10. Default COBOL editor in the Preferences view
default editor preference for AIX COBOL

Error markers

Previously, if you had errors in a project that occurred in source outside of the project, for example in a copybook located in a common directory, those errors were not shown in the Problems view. Now they are.

You can open those remote files in the editor by double-clicking on the error notice. Any changes are made directly to the remote file. The file will remain outside the project.

Preprocessor integration

Before this release, COBOL preprocessor statements appeared with warnings in the new COBOL editor. Now you can identify these by using Source > Preprocessor Statements > Identify Using Configured Preprocessors. These statements are distinguished from regular COBOL source code by a thin marker in the left margin.

Figure 11. The margin marking that indicates preprocessor statements
blue vertical lines along the left

Preprocessor configurations enable you to tell the editor the order in which to run the processors. You can specify these configurations in the preferences or at the project properties level.

Program flow diagram

A program flow diagram has been added for COBOL. This gives a graphical view of the paragraph flow of a COBOL program. Double-clicking a paragraph in the flow diagram opens that paragraph in the editor.

Unreachable code

You can now identify unreachable code by using Source > Identify Unreachable Code. This runs a local analysis to find code that seems unreachable. Because it does not run the full compiler, it does not analyze copybooks and some preprocessor statements. Calls to external programs cannot be analyzed, and code after calls to procedures that do not return is not marked.

Data elements table

You can show data elements from your program in a table (Show In > Data Elements) and then use that table to navigate through your program. It also shows elements found in copybooks used by the program.

Figure 12. A data elements table
elements from Data Division of a COBOL program

Mark Occurrences enhancements

Mark Occurrences was added to the new COBOL editor in the previous release. You can use it to select a variable in the editor and highlight all occurrences of that variable in the source code. Reads and writes are distinguished from each other by color, and those occurrences appear in the overview ruler on the right side of the editor. Clicking on a marker in that ruler moves your view to that occurrence.

In this release, you can select a procedural statement, such as IF, and the markers will highlight the corresponding ELSE, ELSE IF, and END-IF keywords. Other end phrases and statement conditions are supported also.

Find Occurrences

In addition to Mark Occurrence, you can now perform a Find Occurrences operation from the new editor that populates a Search view for that variable. You can use this view to position occurrences of a variable and can pin them in place for future reference and navigation, even if the editor that generated the view is closed.

Parenthesis matching

Placing a cursor on an open or close parenthesis mark in the source code now highlights the matching parenthesis. This makes it easier to read complex nested expressions.

Static analysis enhancements

The static analysis tools have been enhanced to add more rules for code style and to allow for the creation of custom rules. Adding custom rules is a matter of writing new plug-ins to extend the existing rule sets. There are tools included with Rational Developer for Power that you can use to generate templates for these plug-ins.

Code coverage

You can use the new Code Coverage support to analyze AIX COBOL code. See the explanation later in this article.

Multiple context support

Multiple context support has been added for both COBOL and C/C++. See the explanation later in this article.


Enhancements for C and C++ on AIX and Linux

Semantic highlighting

You can use semantic highlighting in the C/C++ editor to color bits of your source code, depending not only on syntax but also on underlying meaning of the code. With semantic highlighting turned on, you can color class identifiers differently from those for enums, and distinguish methods and parameters from local variables. The list is quite extensive.

You can set semantic highlighting preferences under Preferences > C/C++ > Editor > Syntax Coloring.

Code folding

Code folding is the ability to collapse blocks of code into a single line. A marker is placed in the left margin to indicate that a block of code has been collapsed. You can collapse a class, a single method, structs, and other complex structures to provide more focus on the code at hand.

You can set code folding as the default by selecting Preferences > C/C++ > Editor > Folding.

Code Analysis

The new Code Analysis feature uses the static analysis engine introduced in the previous release and used by COBOL. Rules are available and can be activated to enforce particular coding conventions. You can access it under the Software Analyzer icon on the toolbar of the C/C++ perspective.

To use the analyzer, you create a configuration that contains the rules you want to enforce and a default scope (range of files) for applying those rules. You can then run the analysis any time. Analysis is a complex operation and is typically done on several files at a time. Analysis can take time, so it is done when requested by the developer, not automatically on every code modification. You can launch an analyzer configuration from the Software Analyzer icon mentioned above.

Migration assistance

Built into the Code Analysis engine are rules that assist in migrating C/C++ code to IBM® POWER® systems. The analysis can detect 32- to 64-bit migration issues, endian issues, and some operating system issues that could impede portability.

Figure 13. The Software Analyzer rules for migration assistance
Rules tab in software analyzer configurations

Multiple context support

A context is a construct that specifies a remote target system, directory, and environment in which to build a COBOL or C/C++ application. Starting with this release, you can specify multiple contexts and use them to synchronize and build your projects on remote systems. Projects can be synchronized with a context in the Reconciler view. If you switch a project's context and switch back, the workbench will remember which elements of the project you last synchronized with that context.

Multiple contexts are useful when you have several remote systems on which to build. Another use is to create binaries with different characteristics from the same source. For example, you can use this to create both an optimized and a nonoptimized version of your project.

Configurable error reporting

You can now select Preferences > Remote Development to configure the number and type of errors to be reported from the remote indexer.


Performance Advisor

The Performance Advisor is a new component in this release. You can use it to analyze C/C++ programs on both Linux and AIX systems. The advisor is based on low-level sampling tools for those operating systems (tprof for AIX and OProfile for Linux) and provides high-level analysis tools for the data collected by them. The user interface makes it easy to gather data and present it in a clear graphical form. However, it goes beyond advice for changes to your compiler options. It also provides comparison tools that can show improvement between runs after making those modifications.

To use the Performance Advisor, create a C/C++ application and then launch a performance tuning session on that application. There are wizards that guide you.

You can use the Performance Explorer view to manage these sessions. Opening a session reveals the System Scorecard, where you can get Recommendations for how to improve performance.

Figure 14. Performance Advisor recommendations after performance-tuning
System Scorecard: Description, confidence level

After you apply the recommendations, you can run more sessions and compare results to a baseline to determine how much the program has improved.

Figure 15. A performance comparison view after modification
Shows function name, relative speedup, impact

This only briefly touches on the capabilities of the Performance Advisor. For a much more in-depth look, see the Performance tuning C/C++ applications… article cited in Resources.


Code coverage

Code coverage is a new function in this release. You can enable code coverage reports for AIX and Linux programs, and this is quite useful during the testing phases of a release. Automated testing combined with code coverage reports becomes another tool to improve the quality of your software.

The underlying technology is based on debugging and special breakpoints set in the programs being measured. Because it is based on debugging, there is no need to create a special code-coverage version of your program to instrument it for coverage.

To use code coverage, create a special launch configuration and turn on code coverage for that launch by selecting Run > Compiled Code Coverage Configurations > Coverage. This is similar to creating a simple run or debug launch configuration for a remote program.

When the program runs the coverage of each statement is recorded. At the end of the run a coverage report can be constructed and displayed.

Figure 16. A code coverage report
shows Element, coverage, covered line, total lines

In addition to the reports, you can turn on code coverage annotations in the editor. The annotations show as marks on the left side of the editor pane.

Figure 17. Code coverage marks in the editor for C++
red vertical line in margin flags unexecuted lines

Mobile application support with IBM Worklight Studio

IBM Worklight Studio is a mobile application development platform. It's a separate product that you can install into the same package group. Worklight Studio supports the creation of mobile applications for the iOS and Android operating systems in a different styles, including web, hybrid, and native applications among them. Each style has different deployment, maintenance, and platform characteristics.

See Resources for a link to learn more about Worklight Studio. Version 5.0 is included on the physical media with Rational Developer for Power Systems tool bundles, but you can download it from that page if you prefer.


IBM Data Studio 3.1.1

You can now install IBM Data Studio 3.1.1 into the same package group as Developer for Power Systems. This is a separate, no-charge product that provides more enhanced database tools. This is a quick summary of some of the differences you'll see if you install this with Rational Developer for Power Systems Software.

Two new perspectives

  • The Database Administration perspective gives you access to various database administration functions that you can use to define databases on IBM® DB2® for Linux, UNIX, or Microsoft Windows (LUW) systems, among other things. It also gives you the ability to define and manage Data Development Projects that contain SQL scripts for both IBM i and AIX systems.
  • The Data perspective is a convenient grouping of various views for database development and inspection. The existing Database Development and Database Debugging remain, and their views are updated with many new actions.

Several new views

There are graphical overview and topology views that work for both IBM AIX and IBM i. Visual Explain, Query Tuning, and Performance Metrics are available and supported for DB2 on AIX and Linux. Unfortunately, these functions are not available yet for IBM i in the Data Studio.

The Data Source Explorer in several of the Data Studio perspectives has several enhancements:

  • A new SQL and XQuery editor that embeds access to the visual explain
  • Query tuning
  • Performance metrics tools

The explorer also provides Content Assist and formatting for script development for both LUW and IBM i. You can use it to write SQL and Java stored procedures and user-defined functions.

Resources

Learn

Get products and technologies

  • Download and evaluate Rational Developer for Power Systems Software, free of charge, or try it in the online sandbox.
  • Download IBM Data Studio 3.1.1, free of charge, to simplify database administration, accelerate application development, and increase cross-team collaboration. You can install it into package groups by using a 32-bit JVM (Java virtual machine).
  • Download a free trial version of other Rational software.
  • 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.

Discuss

Comments

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


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational, DevOps
ArticleID=846499
ArticleTitle=What's new: Rational Developer for Power Systems Software version 8.5
publish-date=11272012