Capsule-based UML models extensibility overview

You can use the extensibility features of IBM® Rational® Software Architect RealTime Edition to create an Eclipse extension, and a feature to hold the extension.

To extend the product environment, you should be familiar with standard Eclipse extension mechanisms. You can also package extensions as reusable assets and then reuse them through a Reusable Java™ Asset Specification (RAS) server. Another way to extend the product environment is to create pluglets. Pluglets are special projects within the workspace that you can use to create standalone Java™ applications that can access and modify a UML model.

Modeling extensibility

Because the product is based on many components of the Eclipse open source framework, all those application programming interfaces (APIs) are available to you. For example, you can use the UML2 APIs to manipulate models, Eclipse Graphical Modeling Framework (GMF) APIs to manipulate diagrams, and so on. In addition to these APIs, the Rational® Software Architect platform provides additional APIs with specific capabilities for capsule-based modeling, as well as capabilities that help you manipulate model elements. You can also easily add new menus.

The product has several UML profiles, and you can also create and use new profiles to further enhance the modeling experience. The product provides tools to create a profile and produce code so that the profile’s elements appear in the diagram toolset and in menus. You can also adapt the generated code to refine its capabilities. For more details, see “Extending the Rational modeling environment.”

Configuration Management extensibility

Because it is based on Eclipse, configuration management (CM) providers can integrate with the product platform, and can reuse the model comparison and merging tools by connecting to the correct Eclipse service.

Transformation extensibility

The product transformation that generates C++ code from models is also extensible. For more details, see “Extending transformations.”

Validation and analysis extensibility

You can extend both the validation and analysis tools in the product. You typically extend the validation tool by providing new constraints on models. By default, a set of rules is provided to support the base UML capabilities.

Validation constraints

Note: The validation capabilities of the product are advanced, and the Check Model capability ensures only that the relationships between elements are set correctly. You can use the product’s extensibility features for more functionality.
You can also extend the analysis tool by providing new rules to use during an analysis.

Analysis rules

Design patterns

Another extensibility capability that the product provides is design patterns. You can define two methods and types of patterns in the toolset.
  • The first method is to apply a pattern that is only realized during transformation and that uses some marking to trigger a special transformation rule. This method uses a combination of extensibility techniques for transformation extensions and for profiles as part of model extensions.
  • The second method is to use model-based patterns that provide a type of in-model expansion. You can use this method to create UML model pattern instances that you can bind to model elements, either to modify the model or as another marking mechanism that triggers specific transformation rules. This method provides visibility in the model, a potential upgrade of the pattern, and the ability to combine these elements in a reusable package for distribution.
For more details, see “Extending transformations” and “Applying patterns”.

Feedback