Rational Rhapsody 8.0 and Rational Rhapsody Design Manager are scheduled for electronic availability on September 21, 2012.
The IBM® Rational® Rhapsody® development environment supports a broad range of technologies and can be used for many purposes, for example:
- Requirements analysis
- Model-based systems engineering
- Trade study analysis
- Embedded and real-time software development
- Safety-critical software development
- Model-based testing
- AUTomotive Open System ARchitecture (AUTOSAR) development
- Capturing DoDAF or MODAF architectural frameworks
The Rational Rhapsody 8.0 and Rational Rhapsody Design Manager 4.0 releases include new capabilities and improvements that make it easier to apply Rational Rhapsody to these and many other solutions.
Rational Rhapsody Version 8.0 offers a new Guide Me feature that can helps users configure and use Rhapsody for a particular purpose. This is especially useful to new users who want to use Rhapsody for their specific needs. Guidance is provided in the form of tutorials, videos, and documentation that helps users perform the tasks required.
Systems engineers strive to improve their processes to reason about, communicate, and specify overall systems design, often making tradeoffs between different systems aspects while still ensuring consistency across domains and disciplines. Rational Rhapsody Design Manager assists cross-discipline teams with sharing, collaborating, and reviewing engineering information in an efficient, intuitive manner. Rhapsody Design Manager Version 4.0 takes a further step in integrating with Jazz™ technology by enabling systems engineers to work with version, variant, configuration, and change management of a Rhapsody model stored in a Jazz-based repository, thus simplifying the process. This enables finer-grain access and change control that gives systems engineers a more flexible workflow for parallel development, tightly coupled with lifecycle artifacts for better response to changes.
A common location on a Jazz repository for storage of the Rational Rhapsody design artifacts with other lifecycle artifacts, such as requirements and work items, enables a tighter workflow with the broader systems and software engineering lifecycle. Because they are stored in a common location, requirements can be traced and referenced with the design information without duplications, because they are stored in a shared, server-side, repository. A single source of truth for requirements is enabled between requirements management databases, such as with IBM® Rational® DOORS® or IBM® Rational® Requirements Composer and design information from the Rhapsody model. By using Open Services for Lifecycle Collaboration (OSLC) links, you can establish traceability and analyze relationships between the requirements, design, and tests to help ensure delivery of high-quality designs that meet project objectives.
The new Rational Rhapsody Contributor role provides access to change management, report customization, planning, design management, software configuration management, automation (build system), requirements management, and test management capabilities.
Safety-critical complex systems, such as avionics, automobiles, trains, and medical devices, are becoming more and more software intensive. Companies developing these systems need to work within the guidelines of industry standards to market their products and certify their applications to comply with the standard. Rational Rhapsody V8.0 includes an IBM Rational Rhapsody Kit for ISO 26262 and IEC 61508 that provides a documented reference workflow, test cases, and other artifacts, including a TÜV SÜD certificate for ISO 26262 and IEC 61508 for using Rational Rhapsody and Rational the Rhapsody TestConductor Add On to assist users in meeting the automotive or general functional safety standards. The contents can also be used for other industries, such as DO-178B or DO-178C for avionics, IEC 62304 for medical devices or other safety standards.
Rhapsody is highly flexible and software that can be customized to help automate delivery of designs compliant with many industry standards. It includes updates for SysML 1.3, OMG Unified Profile for DoDAF and MODAF (UPDM) 2.0, and AUTOSAR 3.2 and 4.0 for systems engineering and automotive engineers to develop solutions using the latest standards.
Rational Rhapsody and Rational Rhapsody Design Manager add a several usability and performance improvements:
- Statistical model query for model metrics
- Code generation using multiple processor cores
- Improved design review workflow with change management
- Cross-project searching
- Sketching by using a web client
Two key focus areas for each Rational Rhapsody release are usability and performance. For new users, Rational Rhapsody 8.0 introduces a Guide Me feature to make it easier to complete a task. More experienced users can take advantage of improved code generation performance, model metrics, spell checking, better customization options, and improved integration with Rational Team Concert.
You can use Rational Rhapsody in a broad spectrum of systems engineering and software development applications for many different industries and domains.
The new Guide Me option helps new users get started by offering guidance in performing a series of tasks associated with a solution. The guidance walks users through configuring and applying the software with text, tutorials, and videos to help reduce the learning curve and make new users productive faster. Guide Me instructions are currently provided for these topics:
- Systems Engineering: Systems Design and Specification
- Control Systems Design with Rational Rhapsody and MathWorks Simulink
- Unit and Integration Testing
- AUTOSAR software development
The Guide Me window for a particular solution can be opened by selecting a Rhapsody solution from the Welcome screen (see Figure 1) to get step-by-step instructions. The Guide Me window can also be opened from the Help drop-down menu. Where possible, the Guide Me instruction invokes operations in Rational Rhapsody to perform steps.
The Guide Me content is built with XML, and it is possible to create your own Guide Me content for your organization's applications of Rational Rhapsody.
Figure 1. Guide Me feature provides step-by-step guidance
To mitigate project risk, it is important to understand the architecture and design of your project, based on its progress, quality, or complexity. You can view model metrics, such as counts of model elements based on queries and context, to gain understanding of the status of your current project and its progress. You can create a custom layout and specify the model elements and parameters that you want to report, using a query provides specific input for the metrics.
Figure 2. View model metrics for a better understanding of project status
Models consist not only of graphical diagrams but also text to further explain the design. An option under the Tools menu is available to run the Spell Check operation to check descriptions of model elements for spelling errors.
Faster code generation using multiple cores
Rational Rhapsody is often used for the development of large and complex applications. You can now use multiple cores of the computer when generating applications that consist of multiple components. This helps code generation performance. The CG::ParallelCodeGeneration property is used to activate parallel processing and control the number of parallel processes to launch in conjunction with the CG::UserDefinedParallelProcesses property. The code generation command that is launched is specified in the CG::ParallelCodeGenerationCommand property.
By default, a Rhapsody command line (RhapsodyCL.exe) is launched, but it is possible to customize the command that is invoked to, for example, run code generation on another machine or on a server farm. Additionally, improvements have been made to manage memory used by the code generation process to better use system resources.
Modeling patterns by stereotypes
When defining domain-specific languages (DSLs), you might want to use domain-specific terms (vehicle, weapon system, radar, business enterprise, for example) with corresponding model elements that should be part of that term. Rational Rhapsody 8.0 provides an automated way to create a model pattern related to domain terms. For example, when creating a radar term, it is possible to automatically create a relevant IBD, parametric diagram, and a link to standard document.
Rational Rhapsody 8.0 provides integration with Rational Team Concert through a standard SCCI interface. The Microsoft Windows client now supports configuration management of designs with Rational Team Concert using this integration.
Through its design management capability, Rational Rhapsody makes it easy for teams to manage their designs, collaborate with peers and stakeholders, and integrate systems engineering and software design into their engineering lifecycles. Rational Rhapsody Design Manager V4.0 can help improve systems and embedded and real-time software engineering through lifecycle integration, analysis, web-based sketching, extensibility, reporting, and generation of documentation.
The Rational Rhapsody Design Management server enables designs to be modified directly on the server. It includes model-based configuration management to manage changes to the designs. You can edit Rational Rhapsody models directly on the server from within the Rhapsody desktop client. This offers a simplified configuration management solution and adds many benefits, particularly for systems engineers:
- Improves quality by collaborating on designs with peers and other stakeholders using a web client
- Works in parallel directly on a design stored on a server with built-in configuration management support that includes simplified change control
- Establishes traceability between designs, requirements, change requests, test cases, and test plans, making it easy for stakeholders to quickly find related designs and perform coverage and impact analysis
- Enables users to quickly search designs to learn from previous designs and find reusable design components
- Reduces the time required to meet regulatory and contractual requirements by automating the generation of design documents based on templates
- Supports serial and parallel configuration management
- Includes change control operations, such as locking and unlocking, that are aware of the design structure as opposed to file-based operations
- Supports change sets that enable multiple design changes to be grouped together and managed as a logical unit.
- Enables viewing change history for a design resource
- Supports a graphical compare-and-merge action
- Offers a file-based mode option for users who are working with configuration management systems
With the new, simplified workflow based on OSLC linking, system engineers and software developers can analyze and trace to requirements, by using a shared, server-side repository that avoids duplication of data. This new workflow with Rational DOORS or Rational Requirements Composer is enabled through management of the design data on the Jazz server using Rational Rhapsody Design Manager.
Rhapsody Design Manager adds bidirectional traceability between requirements and designs with Open Services for Lifecycle Collaboration (OSLC) linking. Links can be created from a requirement to a design resource or from a design resource to a requirement and be visible on both sides.
- Simplified user experience: Bidirectional OSLC linking enables traceability scenarios for requirements engineers and engineers who perform modeling with Rational DOORS 9.4 and Rational Requirements Composer 4.0.
- Single source of truth: Linked lifecycle data is always up to date; no data refreshing is necessary. The OSLC links are visible in the new Rhapsody Design Manager Impact Analysis views to assist teams in coverage and impact analysis.
This release further integrates Rational Rhapsody through Rational Rhapsody Design Manager into the Jazz platform, making it easier to manage and administer the combined solution.
- Rational Rhapsody Contributor V4.0 gives you full read-and-write access to change management, report customization, and planning. The Contributor license also includes read access to design management, software configuration management, automation (build system), requirements management, and test management, unless otherwise restricted by role-based process permissions.
- Share a Jazz team server to reduce administration time and costs with common user administration and management across Rational Rhapsody Design Manager, Rational Team Concert, Rational Requirements Composer, and Rational Quality Manager servers.
- Cross-role licensing enables users with a Jazz license (Developer, Analyst, Quality Professional, and Contributor) to collaborate on designs with viewing, searching, commenting, markup, and document generation capabilities. The Design Manager role-based license adds the capabilities of Contributor in addition to full read-and-write access to the Design Management server.
- Inclusion of design project areas in lifecycle projects makes it easier for teams to get up and running.
- The ability to change the public URL of a server (server rename) facilitates server infrastructure changes.
Rational Rhapsody Design Manager adds these new analysis capabilities to help teams understand the impacts of a design changes and find existing design components:
- View an impact analysis diagram created from a selected model element that shows all of the related design elements and all linked OSLC resources.
- Edit the generated analysis to add or remove elements.
- Create and store queries to search across multiple project areas.
Sketching gives you a quick way to capture and collaborate on design ideas. You can now create sketch diagrams as part of a design management project area, and then edit the sketch either from a stand-alone web client or within Rational Rhapsody by using the embedded web client. These sketches benefit from all of the other design management capabilities, such as configuration management, OSLC linking, and document generation.
Rational Rhapsody Design Manager offers a range of options for creating and managing design documents:
- Keep living design documents that can be added to a design management project area and edited through the web client by using rich text. Design documents can contain embedded links to other design resources, which are rendered visually as part of the document.
- Generate documents on the design management server by using the new Rational Reporting for Document Generation support. You can generate documents from templates included with Design Manager or from custom templates created using Rational Publishing Engine Document Studio (separate license).
- Generate documents with Rational® Publishing Engine and access designs, comments, and OSLC-linked data from the Design Management server.
A new domain toolkit enables you to create custom design domains in Rational Rhapsody Design Manager server.
- Define new domains through an ontology editor.
- Perform model validation by specifying live and batch model constraints and data validation rules, using the SPARQL Protocol and RDF Query Language.
- Create and edit model instances using forms generated from the domain ontology.
Systems engineers who are applying Rational Rhapsody for model-based systems engineering (MBSE) can take advantage of updates to SysML 1.3 and UPDM 2. The integration with Simulink is substantially improved to enable specifying and validating designs of cyber-physical systems.
Rational Rhapsody includes updates to make it easier for systems engineers to analyze, validate, and specify systems, using the latest standards. It now provides support for SysML 1.3, including interface modeling (proxy ports, interface blocks, directed features, nested ports, for example) and property value change events for more modeling options.
Rational Rhapsody now supports complex types mapping between SysML and MathWorks Simulink designs, the hierarchy of structured Simulink blocks specified in SysML Internal Block Diagrams (IBD), and offers improved support for variable step solving, algorithms for avoiding algebraic loops, co-simulating with Simulink, animated views in Rhapsody and more.
Figure 3 shows a context menu with operation for creating a skeleton Simulink model from a block in the Rational Rhapsody.
Figure 4 shows the results of the operation, with the floating Simulink window titled CruiseCtrlSimDomain showing the auto-generated Simulink model that is based on the IBD. The two MATLAB plots in Figure 4 show the resulting plots of the simulation. One plot in the lower-right shows the vehicle's desired speed (blue line) as it is set by a statechart of the driver connected to the vehicle (the statechart is not shown). In the green line, we see the actual speed of the vehicle, which is affected by the behavior of two Simulink models that describe a control algorithm and plant simulating the drag exerted on the vehicle. The other plot in the upper-left of Figure 4 shows the thrust produced by the vehicle's engine over the simulation time. You see that, as the desired speed is increased, the engine emits pulses of thrust, and then when the desired speed increases from 80 to 120, another pulse is produced from the engine. When the desired speed is dropped abruptly from 120 to 10 and back to 60, you see a negative pulse of the thrust, while the actual speed is decreased to around 70.
The Rhapsody integration with Simulink can improve collaboration between systems engineers who are specifying the overall context of the system with SysML and developers who are designing algorithms and continuous logic in Simulink. Additionally, usability improvements in the integration allow for running simulations multiple times without re-export, defining signals to be plotted automatically after the simulation, executing multiple parameterized simulations from spreadsheets, and more.
Figure 3. Export design information from SysML and quickly start Simulink simulation by using parameters defined in Rhapsody
Figure 4 shows the automatically generated Simulink model, based on IBD from Rhapsody co-simulated with MathWorks Simulink. This allows algorithms and continuous logic to be validated with architecture specified in SysML.
Figure 4. Auto-generated MathWorks Simulink model
During analysis and design, especially in early phases of development, only parts of the design are complete. Simulating early and often can identify errors when they are least costly to fix. With Rational Rhapsody, you need only a simple mouse click to configure a simulation for activity diagrams, statecharts, or classes with internal parts to make it easier to validate them when other parts of the design may not be ready. The Simulate operation (see Figure 5) sets the scope for simulation and allows behavior to be quickly validated in a single operation.
Figure 5 shows how you can use the Simulate command to quickly start a simulation of a portion of your design to validate its behavior.
Figure 5. Simulate command example
The United States Department of Defense (DoD) has mandated the use of UPDM 2 on all DoDAF projects using UML or SysML tools. Rational Rhapsody support is updated to UPDM 2 to enable capture of DoDAF 2.0.2, as well as the British Ministry of Defence Architecture Framework, MODAF 1.2.004, and the NATO Architecture Framework, NAF 3.1. Export of the architectural data via XMI is also supported, enabling interchange with other modeling tools. Support for the legacy DoDAF 1.x and MODAF 1.x profiles is no longer provided.
Companies developing products that could result in injury or loss of life if they failed, such as aircraft, automobiles, or medical devices, must follow strict development processes: ISO 26262 for automobiles, DO-178B or DO-178C for commercial avionics, or IEC 61508, the general functional safety standard. It is each company's responsibility to produce evidence that they are following good manufacturing processes, such as traceability from requirements to implementation, that they are performing sufficient testing and, additionally, that the tools used do not introduce an error into the product.
These additional steps help ensure safety but also add additional time and cost to the development lifecycle. Industry analyst reports have shown the significant benefits of a model- driven development approach, and the provisions for modeling added to the release of DO-178C further emphasize modeling's importance in development. Rational Rhapsody provides support for a model-driven development (MDD) approach:
- Using UML or SysML to visually capture the design
- Simulation for early validation
- Generation of C++, C, and Ada applications, including behavior
- Model-based testing for automated testing
- Traceability to lifecycle artifacts, such as requirements and tests
The Rational Rhapsody Kit for ISO 26262 and IEC 61508 is part of the standard Rational Rhapsody documentation set. It includes sample workflows for using Rational Rhapsody and back-to-back testing with the Rational Rhapsody TestConductor Add On. A TÜV SÜD certificate and certificate report is included, indicating that the Rational Rhapsody TestConductor Add On can be applied in safety-related development for all SIL levels, according to IEC 61508 and all ASIL levels according to ISO 26262. Also provided in the kit:
- Rational Rhapsody Kit for ISO 26262 and IEC 61508 Overview summarizes the contents in the kit.
- Rational Rhapsody Reference Workflow provides exemplary workflow for modeling, code generation, and verification in a safety context.
- Rational Rhapsody TestConductor Add On Workflow describes testing activities and objectives.
- Rational Rhapsody TestConductor Add On Safety Manual provides additional information for using Rational TestConductor within a safety standard.
- Rational Rhapsody TestConductor Add On Validation Suite, available separately, includes test cases to help you qualify Rational Rhapsody TestConductor Add On within your own development environment.
Rational Rhapsody Developer for C and Rational Rhapsody Developer for C++ offer execution frameworks that enable common execution functions and services, such as scheduling, messaging, and event processing. These enable developers to focus on their domain applications.
Rational Rhapsody includes documentation and requirements for the source code in the Simplified Micro-C eXecution Framework (SMXF) for C and the Simplified eXecution Framework (SXF) for C++. The documentation and requirements can help you use the framework in applications that require certification. Validation test suites, using the Rational Rhapsody TestConductor Add On for the SMXF and SXF, include requirement and statement coverage to help validate the framework within your development environment.
When developing software that needs to meet safety-critical standards, such as DO-178B, DO-178C, ISO 26262, IEC 62304, or IEC 61508, ensuring that all code in the application traces back to a requirement is essential. Rational Rhapsody 8.0 improves its generation of requirements into generated code by providing traceability for auto-generated code for statecharts and auto-generated functions to help justify the need for the operation within the generated application. Selecting either the project setting SafetyCriticalforC++Developers or SafetyCriticalforCDevelopers for C++ and C code adds the low-level requirements reference packages for the auto-generated code for behavior and functions. The "Include Requirements as Comments in Code" setting for code generation configuration enables generation of requirements information into the generated code, see Figure 6.
Figure 6. Requirement information can be generated into code to help trace code to requirements
Requirements can be traced to entry or exit actions and to internal transitions of states to provide justification for the need for these code sections, see Figure 7. When generating requirements in the code, the transitions on statecharts are numbered to enable tracing back to the model from the code. You have the option to generate the requirement for a function into the specification (.h), implementation (.c or cpp), or both files to help meet your coding guidelines. New stereotypes for Low Level Requirements (LLR) and High Level Requirements (HLR) are added to allow for typing of requirements based on their level in the lifecycle.
Figure 7. State chart transitions are numbered, and linked requirement information is generated into code as comments
Automotive engineers who are developing solutions for AUTOSAR can now use Versions 3.2 and 4.0 with Rational Rhapsody for behavioral modeling and code generation to specify their systems. Additionally, support for unit testing of the individual AUTOSAR software components is included with the Rational Rhapsody TestConductor Add On. This enables automation of manual testing tasks, visualization of test cases using the UML Testing Profile, and execution of test cases with validation results to help deliver higher-quality AUTOSAR software components and designs in less time.
The AUTOSAR 4.0 profile of Rhapsody provides the ability to edit variation points and define their calculated values after materialization. The AUTOSAR XML (ARXML) generated by Rational Rhapsody reflects the calculated value of the variation point.
Support is added for creating AUTOSAR Blueprints to create a reusable reference catalog of templates that can automatically assign properties to an element. The Blueprints are defined by using a table and are applied by using a new tab on the features of an applicable element.
The Rational Rhapsody AUTOSAR profile introduces a new browser view that is integrated into the main browser so you can see the model with a specific data viewpoint. Three predefined views are provided for the ARPackages:
- Browse Composition Sw Component Type shows all of the Composition SWC types and all ports and their content, plus Internal behavior artifacts
- Browse Atomic Sw Component Type shows all of the Atomic SWC type and all ports and their content, plus Internal behavior artifacts
- Browse Systems shows all systems and the content of their composition types.
Figure 8. Three view options to focus on particular aspects of the design
A new way o f defining the set of terms available or excluded based on role is provided, allowing for role-based filters to be defined that show the relevant set of terms for a role. Properties are used to control the terms.
Rhapsody Developer for Ada 8.0 includes improvements to better synchronize the model and Ada code
Rational Rhapsody Developer for Ada now provides the ability to drive inputs into panel diagrams, which can help drive simulations and validate behavior earlier in the development lifecycle. Panel diagrams are available as part of the Rational Rhapsody Tools and Utilities Add On.
There are many long-term projects that use Ada that are still being maintained and updated. Rhapsody Developer for Ada provides reverse engineering capabilities that can import and document these designs to help understand the architecture and design of the application. Version 8.0 adds new synchronization capabilities that can update the Rational Rhapsody model with changes that occur in the Ada code to keep the design and documentation synchronized. Ada reverse engineering and round-tripping are also now supported on the Linux platform.
A set of properties is provided to control the container sets used to implement relationships in Rhapsody Developer for Ada. The Ada_CG ::Configuration::ContainerSet property is used to specify the container set used. Possible options are Booch (default), Ada 2005 or User Defined, where you can define your own set of containers.
Rhapsody Developer 8.0 and Rhapsody Developer for C++, C, and Java 8.0 now support Red Hat Linux 6 and later and SUSE 11 in 32-bit mode. Red Hat 4 is no longer supported. Additionally, Wind River VxWorks 6.9 and Workbench 3.3 are now supported on Windows and Linux platforms but without breakpoint synchronization support. Wind River VxWorks 6.6 and Workbench 3.0 are no longer supported.
- To learn more about this tool for collaborative, model-driven development for embedded systems, start with the Rational Rhapsody Information Center where you can find tutorials, getting started guidelines, and links to many other resources.
- Explore the various editions:
- 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 for collaborative, model-driven development of embedded systems. This edition is required for Eclipse users, and editions are available to create specialized projects in C, C++, Java, and Ada languages.
- Check the IBM Rational Rhapsody Design Manager to collaborate, share, review and manage designs and models with the entire engineering team. Also see the Design Management page on Jazz.net
- Other Rational products mentioned in this article:
- Rational DOORS requirements definition and management application
- Rational Publishing Engine automated document generation tool
- Rational Team Concert, an agile application lifecycle management (ALM) solution
- Rational Requirements Composer requirements definition and management software
- 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
- Download Rational Rhapsody and try it free for 30 days.
- Learn more about the Design Management project on Jazz.net.
- Evaluate 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.
- Join the discussion in the Rational Rhapsody forum.
- Connect with others who share your interests by joining the developerWorks community and responding to the developer-driven blogs.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. You'll get worldwide exposure, RSS syndication, a byline and a bio, and the benefit of professional editing and production on the developerWorks Rational website. Find out what makes a good developerWorks article and how to proceed. Start by finding out what makes a good developerWorks Rational article.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.
- Ask and answer questions and increase your expertise when you get involved in the Rational forums, cafés, and wikis.