The IBM Rational® Rhapsody® Version 7.5.3 solution provides new capabilities for systems engineers and embedded software developers that help users conduct requirements analysis, design validation, and testing to deliver high-quality applications. Some of the critical new capabilities introduced in this release include:
- Activity diagram simulation based on tokens.
- AUTomotive Open System ARchitecture 4.0 (AUTOSAR) authoring, importing, and exporting.
- Improved model-based testing for complex applications and embedded targets.
- Chinese and Korean language versions.
- Improved performance and usability.
These new features, plus other enhancements, help systems engineers and real-time or embedded software developers increase productivity and deliver innovative products to the market. Learn more about the new capabilities found in the Rational Rhapsody 7.5.3 solution below.
Enhanced systems engineering
Activity diagram simulation
During systems engineering and software development, activity diagrams may be used to capture and analyze behavior. The Unified Modeling Language® (UML) 2.x defines token-based semantics for the execution of activity diagrams. IBM Rational Rhapsody Designer for Systems Engineers and IBM Rational Rhapsody Developer for C++ products add the ability to execute and debug the activity diagrams to validate the behavior by using token-based semantics to identify errors and mitigate risks early in the development lifecycle — when they are least costly to fix. Actions will highlight in pink when ready to be invoked and olive when finished executing. Flows will also highlight in olive when its token is passed and will turn off when the token is consumed. Activity diagram simulation is supported on Microsoft® Windows® platforms by the Cygwin and Microsoft host environments.
Figure 1. To help to validate functionality, actions and flows highlight on activity diagrams during simulation
Displaying sender/receiver during animation
The Rational Rhapsody 7.5.3 solution provides the ability to display the sender or receiver of a message on an animated sequence diagram when that instance is not already drawn on the sequence diagram. During simulation, messages between instance lines are drawn on an animated sequence diagram. Sometimes a message may be sent to or received from an instance not drawn as an instance line on the sequence diagram. These messages appear as coming from the environment lifeline. If the instance line for an animatedsender or receiver is not shown on the sequence diagram, the Animation property for a message DisplaySenderReceiverForEnvMsg can be used. This allows the display of the missing sender/receiver information on the messages to/from environment lifelines to be seen in animated sequence diagrams with C++, C and Oracle Java.
Exporting plot script for parametric constraint evaluation
It is now possible to export a plot script when plotting a graph during parametric constraint evaluation. This feature helps enable modification and customization of the resulting plot using a text editor.
Figure 2. Export a plot script for further customization
Automatically create constraint parameters
A new operation is added to parametric diagrams that creates constraint parameters on a constraint block or constraint property from the variables in equations of constraint block or constraint property. The operation is accessed by right-clicking the constraint block or constraint property.
Figure 3. Automatically create parameters from constraints by right-clicking a constraint block or constraint property
New extended tables supporting large systems
In the latest Rhapsody release, support for tables is extended to allow viewing a large amount of information from a single view. You can use an extended table layout to define the relationships under a class or package, based on links, associations, and dependencies, or you can use it to define a mapping table. The extended table view can be applied using the extended table layout on the model to populate the table with the desired model information. The understanding of the overall system architecture, bindings and mappings can be simplified through the consolidated view provided with the tables. For example, the new extended table view and layout are used in the AUTOSAR profile to provide the ability to bind AUTOSAR SW/C ports and map system signals to data elements on AUTOSAR SW/C ports to help capture the AUTOSAR system. The extended table layout feature is available out-of-the-box for projects created with the AUTOSAR_31, AUTOSAR_40, and MicroC profiles. To make this feature available for other model types, add the ExtendedTableCapabilities profile located in the Share\profiles\MicroC folder of the installation directory.
Figure 4. Extended table is used for an AUTOSAR SWC Port Binding Table to show bindings of ports and interfaces
Automotive and Constrained target support
AUTOSAR 4.0 system authoring
The new Rhapsody environment updates its AUTOSAR support for authoring of AUTOSAR 4.0-compliant systems, helping you capture automotive systems using the latest standard. Additionally, you can now also leverage Rational Rhapsody Architect for Systems Engineers and Rational Rhapsody Designer for Systems Engineers tools to define architecture and integrate algorithms with AUTOSAR software components, internal behavior, electronic command units (ECU), topology, implementation, and systems diagrams. Implementation independent designs can be architected and linked to requirements showing traceability and coverage of requirements by the design. Additionally, AUTOSAR 4.0 ARXML can be imported and exported so that you can integrate it within the current development workflow.
AUTOSAR workflow automation
Included in the new Rhapsody release, the AUTOSAR development workflow is improved by providing the ability to automate the creation of events in statecharts for AUTOSAR data reads and data changes — releasing you from creating the read operations and activation table entries manually. All the needed operations are automatically created, including Rational Rhapsody Implementation Block (RIMB) access and activation table, according to the events/triggered operations existing in the RIMB Execution Scheduling for Microcontrollers.
Execution Scheduling for Microcontrollers
The IBM Rational Rhapsody Developer for C tool provides capabilities based on its MicroC framework for the development of C code, which is optimized for constrained targets such as microcontrollers. The MicroC profile for IBM Rational Rhapsody V7.5.3 provides a new runnable manager that aggregates the specification of several execution managers. This capability helps you define an execution scheme independent of the model composition structure. The entry points can be used by an external scheduler to drive the generated application.
Figure 5. Runnable manager assembles runnable operations in the model
Optimized top-down statechart code
Additionally, the generated statechart code's efficiency is improved to help target microcontrollers. The statechart code generated uses a top-down algorithm that optimizes the processing of transitions with a higher-level source and target. The net effect of this approach is that it leads to more efficient memory usage, similar to the one used by the IBM Rational Statemate® MicroC Code Generator. Efficiency is gained in terms of RAM, ROM consumption, and code size. The ability to generate optimized top-down code for statecharts is activated through the C_CG::Configuration::StatechartImplementation property, which must be set to OptimizedTopDown. After you activate this feature, use the properties in the C_CG::OptimizedTopDownStatechart metaclass to control the optimization of top-down code generation for statecharts.
Software development capabilities
Non-canonical file structure
When reverse engineering or roundtripping C++ code, the structure of the location on the files system of the code .h or .cpp files is preserved. This helps maintain consistency of existing software and provides more flexibility for the location of code. The relative path to the source files from the package directory is preserved by code generation, and stored in the path field of the source artifact in the model.
User preserved sections
It is often desirable to add code into the generated code files that are not imported as model elements — for example, as macros — so C and C++ developers can add "preserve" sections within the code to specify code that Rational Rhapsody will not map into model elements. This code is treated as a text blob and stored in the model as a text fragment within the source artifacts. As such, it is possible to still regenerate the entire code from the model and also maintain original location.
The latest Rational Rhapsody 7.5.3 solution enhances code generation to provide more control over the user code to help meet coding standards. Some of the code customization features found in the Rhapsody solution include:
- A new property, OpeningBraceStyle, is added for classes, types, namespaces, and operations to specify the opening braces coding style: either in a new line or the same line of the declaration.
Figure 6. Braces in generated code can be controlled to be on a new line or at the end of a line
- Control over the order of elements generated for a struct is added to Rhapsody 7.5.3.
- When generating code, the Rhapsody environment only generates files that have been modified to prevent a build from being required on files that did not change. In Rational Rhapsody 7.5.3, the output log now provides an indication of the files that were not modified during code generation to better understand where changes occurred in the generated code.
Figure 7. Output log shows which files were not modified during code generation
Modeling qualified associations with types
A qualified relation can now specify any type in the model as a qualifier for the relation providing more control over the implementation of the relationship.
Referencing Java Jar files for improved Java development
When performing an import or roundtripping Java code, the information in a Jar file can be used to provide more information about the external elements referenced in the Jar file. This helps improve modeling by identifying the hierarchy of elements, distinguishing between a class and an interface, identifying a generic class, and using generic parameters names as specified in the Jar file.
Java package hierarchy
Packages in Java are used to organize items like classes, interfaces, and types with a common purpose or usage. When reverse engineering or roundtripping Java code, the Rational Rhapsody solution can now organize model packages in the same manner as Java package hierarchy, to better reflect the structure of the code. Packages are created in the model for each package statement in the Java code or for each import statement for external code.
Auto loading of Java model library
External libraries are often very large — for example, Android™ SDK applications. Importing an external library into a Rational Rhapsody model would make the model much larger. To cope with this issue, this new feature only loads a package from an external model library when the external code is used to help reduce the size of the model and improve the time to load the model. A package that is an external library can be specified with the stereotype "Model Library". Then, as elements from the model library are used they are automatically loaded to help reduce the size of the model.
Android SDK 2.2 support
The Rational Rhapsody Developer for Java package now supports Android SDK version 2.2.
Ada renames package from dependency
The Rational Rhapsody Developer for Ada product is improved to allow for the creation of a renames package from a dependency using its GenerateRenamesPackage property. When performing reverse engineering of Ada code, it is possible to create renames package using a dependency with this property set.
Rational Rhapsody TestConductor Add On improvements
Automated software testing with IBM Rational Rhapsody Architect for Software
To help improve testing productivity and improve product quality, the IBM Rational Rhapsody TestConductor Add On solution is now available with IBM Rational Rhapsody Architect for Software toolset. This combination helps enable developers who work in a code-centric fashion and develop most of their application manually to leverage automated model-based testing features. With this combined solution, the C++ and C code can be visualized in the model through reverse engineering, a test architecture automatically created and the test cases graphically developed, executed and monitored. Using these capabilities, developers have more flexibility to take advantage of model-based testing with their existing code.
Improved testing on embedded targets
Often, embedded targets may not have sufficient resources or networking facilities to connect to a host machine for testing in real-time. The IBM Rational Rhapsody TestConductor Add On V7.5.3 provides you with the ability to execute sequence diagram test cases for C++ in an offline mode, for running on an embedded target. The test is executed and monitored on the target itself with results stored in target memory. The results can be examined within the Rhapsody environment, and failures graphically highlighted in sequence diagram of test case.
Improved model-based testing for Ada
The IBM Rational Rhapsody TestConductor Add On improves its support for Ada so that it is comparable to its C++, C, and Java support. This is achieved by providing tools that help you create test architecture, automate test case creation, and define test cases using flowcharts, statecharts and code, in addition to sequence diagrams. To assess the overall quality, reports on requirements and model coverage are also provided.
Usability and general improvements
Custom queries and filters
New capabilities for searching and filtering help assist efforts to quickly manage and view key large model information. Create and save custom search queries that can be accessed later to quickly search for information in the model. Additionally, the model browser and diagrams can be filtered to focus design viewpoint on a key area. The filtering can be done with a save query to quickly access common views.
The new Rhapsody release includes improvements designed to help user operations, diagrams and code generation performance. Offering improved code generation time with C++ and C performance while reducing memory consumption, particularly for the generation of ports and code generation configurations using derived scopes, the MDD environment helps ease workflow challenges. Improvements that help improve the time to perform roundtripping operations with code area also included. Operations such as dragging, drawing, moving, and zooming on crowded diagrams with many elements and models with a large number of stereotypes are improved. Additionally, to help reduce the time required to start up, loading the first project is improved in the Rational Rhapsody Gateway feature found in the Rational Rhapsody Tools and Utilities Add On solution.
The new Rhapsody environment offers a new operation that allows you to rearrange an object model, class, use case, component, deployment and structure diagrams — helping you automatically clean up messy diagrams. To rearrange your diagrams, right-click an empty area of a diagram and select the Rearrange operation.
Figure 8. Rearrange diagrams in a hierarchical or orthogonal layout
Chinese and Korean language support
New in the latest Rational Rhapsody release, toolbars and documentation are translated to traditional Chinese, simplified Chinese, and Korean.
SUSE Linux support
To help allow more host development options, the Rational Rhapsody Developer for C++, C, and Java package is now available on SUSE® Linux Enterprise Server platform.
XMI interchange improvements
The support for XMI is improved to support SysML 1.2 and UML 2.3 to allow for exchange of models with the latest versions of the standard. A setting is provided to specify whether to embed the SysML profile within the XMI. Additionally, it is now possible to import swimlanes into activity diagrams, including connectors and sub-swimlanes to help support integration with third party tools such as offerings from Ravenflow, Inc.
Import for Sparx Systems Enterprise Architect
The XMI import from Sparx Systems Enterprise Architect tool to the Rational Rhapsody solution is improved, making it easier to leverage simulation, behavioral code generation, and integration capabilities with leading embedded and real-time development environments. The XMI import is modified to account for specific features found in Enterprise Architect XMI, allowing you to import of diagrams, primitive types, profiles and port contracts from Enterprise Architect. These capabilities help enable more content to migrate into Rational Rhapsody.
Rational Rhapsody Gateway features
Improved automotive support
Improvements to AUTOSAR model performance, like loading and support for the MicroC profile are added to Rational Rhapsody Gateway feature provided in the Rational Rhapsody Tools and Utilities Add On tool, helping automotive users more easily manage and trace their requirements.
IBM Rational DOORS integration improvements
In the new Rational Rhapsody release, the Rational Rhapsody Gateway feature offers enhancements to the IBM Rational DOORS® integration — helping improve bi-directional synchronization of information between the DOORS and Rhapsody environments. Support is added for the Rational DOORS 9.3 release by using the Rational Rhapsody Gateway tool. Rational DOORS 7.1, 8.x and 9.x are also compatible. Exporting Rhapsody model information to DOORS is improved to better maintain the order of elements, synchronizing changes to requirements names, and offer the ability to export each Rational Rhapsody package as a separate module in Rational DOORS.
The Rational Rhapsody Gateway package provides a bi-directional interface with Rational DOORS, and this release includes improvements to help automate manual steps and maintain structure of information between the tools. A new option called "Reload high level documents after modifications" is added, helping enable automatic synchronization between your Rational Rhapsody and Rational DOORS solutions. This feature automatically reloads modifications in Rational DOORS to maintain consistency across your design, so that you can avoid manual reload. In addition, improvements are available that synchronize new high level requirements added in the Rhapsody environment, and links between high level requirements maintain a more consistent structure between requirements and model.
The new Rational Rhapsody 7.5.3 environment provides capabilities that help validate functional behavior early in the design process, enabling you to deliver AUTOSAR 4.0-compliant automotive systems, and improve product development lifecycle integrations. The new version assists systems engineering and embedded software development efficiency, with advanced model-based testing for complex applications and embedded targets. Lastly, following on the Rhapsody legacy, improved performance and usability features are also included.
You can find more detailed information about the new features in the Rational Rhapsody Information Center.
- To learn more about this tool for collaborative, model-driven development for embedded systems, start with these overviews:
- Explore the various versions, too:
- IBM® Rational® Rhapsody® Architect for Software, a visual development environment for embedded systems and software
- IBM® Rational® Rhapsody® Architect for Systems Engineers
- IBM® Rational® Rhapsody® Designer for Systems Engineers
- IBM® Rational® Rhapsody® Developer edition. This
edition is required for Eclipse users and these editions are available to
create specialized projects:
- IBM® Rational® Rhapsody® Developer for C
- IBM® Rational® Rhapsody® Developer for C++
- IBM® Rational® Rhapsody® Developer for Java™
- IBM® Rational® Rhapsody® Developer for Ada
- Visit the Rational software area on
developerWorks for technical resources and best practices for Rational
Software Delivery Platform products.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Follow developerWorks on Twitter.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
- Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, any time, and many of the "Getting Started" ones are free.
Get products and technologies
- Learn more about Rational software for solving your systems engineering, software engineering, and system of systems challenges. Download papers, view a video and more.
- Download trial versions of IBM Rational software.
- Join the discussion in the Rational Rhapsody forum.
- Get involved in the developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups such as the Rational Café, and wikis.