This article provides an overview of the new features of Rational Software Modeler V7.0. Since this overview deals with the enhancements made to the product from version 6.0, a knowledge of Rational Software Modeler V6.0 would be very useful, though not mandatory.
As in our companion article on IBM® Rational® Software Architect V7.0, let's install Rational Software Modeler V7.0 before we begin to dig into its new features. Like Rational Software Architect V7.0, it utilizes the new Installation Manager. Figure 1 starts that process for us here.
Figure 1. Starting the installation of Rational Software Modeler V7.0
In Figure 2, we select the shared resources directory for our Rational Software Modeler V7.0 installation.
Figure 2. Choosing your shared resource directory during install
Just like in Rational Software Architect V7.0, we are able to easily select the features that we want in Rational Software Modeler V7.0. Figure 3 shows how the Installer installs all of the packages we wish to be in our Rational Software Modeler V7.0 footprint.
Figure 3. Install process – packages being installed
When the installation is completed, we see a friendly green checkmark, letting us know that everything selected for installation was successful (Figure 4).
Figure 4. A successful installation
Now that we have the installation completed, let's take a look at the new features in Rational Software Modeler V7.0.
New features and benefits
Rational Software Modeler V7.0 fixes a number of defects and issues found in Rational Software Modeler V6.0, and builds on the already robust feature set of Rational Software Modeler V6.0 by providing a detailed set of enhancements and improvements. If you've looked at the companion articles we've written about Rational Software Architect V7.0 and IBM® Rational® Application Developer V7.0, you're already familiar with some of the new features we've discussed. Let's delve into some of these new features we've already mentioned, specifically in Rational Software Modeler V7.0:
- 2.1 UML spec adopted
- Object diagrams added
- Enhancements to component, deployment, sequence, activity and structure diagrams
- Search functionality improvements
- Model usability improvements
- Transformation authoring engine
Why are these new enhancements and features so important? Well, for one reason, it is always a good idea to constantly update your technology to insure you stay current amidst the rapidly changing landscape of software development products. Also, these enhancements are a direct result of customer feedback and support the following themes:
- Ensuring higher code quality and consistency
- Driving a deeper understanding of Model Driven Architecture (MDA)
- Improving the integration of architecture and it's intimate connection with software development
- Making SOA development even easier
Note: Support for SOA will be forthcoming in 2007
A walkthrough of the new features
Now that we've started talking about these new features, let's go over each of them below. This will not be an exhaustive walkthrough. Rather, our coverage is just designed to illustrate the new features of Rational Software Modeler V7.0, thereby stimulating your curiosity to use the product and see (and play with) these new features more up-close and personal on your own. To download the trial version, see the Resources section.
First, we'll take a look at the adoption of the UML 2.1 specification.
UML 2.1 specification
In Rational Software Modeler V7.0, we've updated the UML specification to the latest 2.1 version. Included in this specification update are brand new Object diagrams as well as a number of other diagram enhancements (component, deployment, sequence, activity and structure diagrams). In the next section, we'll take a look at these diagrams and how they work within Rational Software Modeler V7.0.
Object diagrams allow you to model the instances of your classes (as objects) in a class diagram in order to describe the behaviour of a system.
Figure 5 shows a simple class diagram in Rational Software Modeler V7.0, with a couple of classes and the associations between them. In this example, a student will use the train (each depicted by separate classes) in order to go to school.
Figure 5. A simple class diagram depicting the relationship between a student taking a train to school
In the resulting Object diagram, you can see the classes themselves instantiated as objects, allowing you to depict their behavior to further model your system (Figure 6).
Figure 6. The object diagram, showing the instantiation of classes as objects
Component diagram enhancements
The key update concerning component diagrams has to do with improvements in accessing included stereotypes. All of the diagrams are easier to understand, with named compartments, as well as an updated interface so that you can understand and apply the available stereotypes easier. In addition, all of the stereotypes are included as part of the standard profile (from the basic and intermediate ones in Rational Software Modeler V6.0).
Figure 7 shows you some of these improvements, with updated graphical components as well as the ability to apply stereotypes more easily accessed from the properties window.
Figure 7. Updated component diagram interface and applied stereotypes
Figure 8 shows those same components with a realization already applied to an Artifact.
Figure 8. An artifact component with a realization stereotype already added
Deployment diagram enhancements
With respect to deployment diagrams, Rational Software Modeler V7.0 improves instance modeling, and contains updates to their stereotype accessibility as well.
You'll see support for graphical compartments within nodes and artifacts. You should also be able to view the internal structure of a node within its structure compartment, as well as any deployed artifacts and associated dependencies. You can even nest nodes within nodes.
Figure 9 shows an example of a node with a graphical mode structure, as well as a few manifestations and deployments with modeled jar files and components.
Figure 9. A sample deployment diagram
Sequence diagram enhancements
Sequence diagrams are a mainstay in the overall process of moving your model driven development process from design to analysis. In Rational Software Modeler V7.0, we improve upon the ability to collapse lifeline interaction operands. An interaction operand is a container that groups your interaction fragments in a combined fragment within a sequence diagram.
For more information on this, please consult the help files.
A great deal of improvement has been made to Activity and Structure diagrams in Rational Software Modeler V7.0. We'll discuss each of these sets of improvements separately.
Activity diagram enhancements
Here's a listing of the main improvements to Activity diagrams:
- Additional element (action) types
- Sub-diagram support on structured activity nodes
- Partition shown on activity
- Multi-select on activities
- Operations shown on call nodes
The following figures detail each of the improvements listed above. Figure 10 shows an Activity diagram in Rational Software Modeler V7.0 with some of the new element types.
Figure 10. A few of the additional Element Types in an Activity diagram
We also show some of the partitioning capabilities in Figure 11.
Figure 11. Partitioning and sub-diagram support on activity diagrams
Structure diagram enhancements
Rational Software Modeler V7.0 includes the following enhancements to Structure diagrams:
- Part shape gives feedback for Drag and Drop (DnD) operations
- Create port/Type part
- Many more DnD operations
- Port property sheet changes
- Parts have a Shape compartment
- Show Inside
- Improved label layout
- Ball-Socket notation
Figure 12 shows a few of the changes with respect to Structure diagrams, namely the ports, parts and the ball and socket notation.
Figure 12. A Structure diagram showing ports, parts and ball-socket notation
We detail the port property page in Figure 13. If you've been following along, this probably looks familiar to you, but it's still worth mentioning these look and feel updates in Rational Software Modeler V7.0, as they will definitely make your overall modeling experience easier.
Figure 13. Port property level page from the properties tab
Now, this is only a small taste of the UML changes for 2.1. Rational Software Modeler V7.0 contains other modeling improvements, such as updates to package diagrams (shape compartments) and state machine diagrams (sub-diagram support). Please peruse the help files for more information on how they can help you in your modeling projects using Rational Software Modeler V7.0.
More on search functionality
In Rational Software Modeler V7.0, a lot has been done to improve the search functionality to assist the user as they work across the domain on their modeling projects. They include:
- Improved search
- More "Relationship Types"
- More queries in "Show related elements"
Figures 14 and 15 detail a bit more of the improved functionality, with Figure 14 showing the additional queries in the Show Related Elements screen, and Figure 15 showing the new Relationship Types in Rational Software Modeler V7.0. Note that Show All Constraints and Show All Comments/URLs are new in Rational Software Modeler V7.0.
Figure 14. New queries within the Show Related Elements window
Selecting the Details button opens the Relationship Types window, showing new types (Template Binding, Link, Package Merge and References (Comment, Constraint and URL)).
Figure 15. New relationship types within Show Related Elements
Model usability improvements
In addition to the enhancements we detailed in our companion article on Rational Software Architect V7.0, there are a few other model usability improvements that have been updated for Rational Software Modeler in 7.0. They are:
- Improved relationship anchor support
- "Change Metatype" refactoring action
- Zoom tool, animated zoom, animated arrange
- "Duplicate element" action when drawing
- Connector assistants for Notes and Geometric Shapes
We'll take a look at a couple of these below. The zoom tool is a pretty neat feature which allows you to zoom in and out of your existing model. Rational Software Modeler V7.0 will automatically rearrange the model on the fly, as seen in Figure 16.
Figure 16. The zoom tool, making your particular class larger than life
Duplicating classes now is as easy as right clicking on your class and selecting "Duplicate" (Figures 17 and 18).
Figure 17. Selecting the duplicate feature leads to…
Figure 18. A duplicated class for you to work with
New enhancements make it easier for you to connect notes and geometric shapes to other elements. Figure 19 shows the connector functionality with an oval and a note.
Figure 19. New connector assistants for notes and geometric shapes
Transformation authoring engine
Another update for Rational Software Modeler V7.0 with respect to extensibility is the ability to author and/or customize UML to UML transformations via Java Emitter Templates (JET2). This allows you to define source and target exemplars (both in UML), as well as the mappings in the middle, to create your own UML transformations.Figure 20 details an example of Model to Model mapping.
Figure 20: UseCase Model to Collaboration Model mapping
Along with this, there is additional functionality to author patterns, Eclipse plugins and reports through UML2, the Graphical Editing Framework (GEF) and the Eclipse Modeling Framework (EMF).
For more information on this and other extensibility topics in Rational Software Modeler V7.0 (migration, etc.) please consult the Rational Software Modeler V7.0 extensibility information in the help files (under IBM Rational Transformation Guide and Transformation Framework) and online at developerWorks.
This article has provided you with an overview of the new features of Rational Software Modeler V7.0. In addition, it also covered a walkthrough of these features, which, hopefully, gave you an idea of what we're doing in order to stay on top of the UML modeling stack. Curiosity often leads you to bigger and brighter experiences with knowledge, and I hope that after reading through this article, your curiosity for Rational Software Modeler V7.0 will lead you to its doorstep. Not only to use the cool new features pertaining to Rational Software Modeler, but also to look at the companion features found in Rational Software Architect and Rational Application Developer. Please keep in mind that Rational Software Modeler and Rational Application Developer are products that contain specialized subsets of the features found in Rational Software Architect V7.0, which means that you get to use them all in Rational Software Architect V7.0, if you choose to.
The author would like to thank Anthony Baer, Gary Clarke, William T. Smith and Cindy VanEpps for their assistance in writing this article.
- What's new in IBM Rational Software Architect V7.0: A companion article, the same author introduces you to V7.0 of Rational Software Architect.
- Stay current with developerWorks technical events and Webcasts.
- IBM Rational Software Architect product page: Find technical documentation, how-to articles, education, downloads, and product information about Rational Software Architect.
- IBM Rational Software Modeler product page: Find technical documentation, how-to articles, education, downloads, and product information about Rational Software Modeler.
- Visit IBM's Pattern Solutions and find out what IBM is doing around patterns and reusable assets.
- Browse the technology bookstore for books on these and other technical topics.
Get products and technologies
- Download a free trial version of Rational Software Modeler.
- Download a free trial version of Rational Software Architect.
- Download IBM product evaluation versions and get your hands on application development tools and middleware products from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
- Participate in developerWorks blogs and get involved in the developerWorks community.
- Rational Software Architect, Data Architect, Software Modeler, Application Developer and Web Developer forum: Ask questions about Rational Software Architect and Modeler.