Rational Software Architect®
Rational Software Architect® (RSA) is a family of UML® modeling tools from IBM® for the Eclipse® platform. The tools support modeling with UML 2.x. They also support generating reports and documents from models, model analysis, and model transformations.
Eclipse GMF Runtime
The project developed a framework that allows for implementing Eclipse GEF (Graphical Editing Framework) diagram editors for EMF (Eclipse Modeling Framework) models by extending a set of extension points in an Eclipse plugin. The extension points allowed customizing every aspect of the diagram editor. The framework was later contributed by IBM as an open source project named Eclipse GMF Runtime (Graphical Modeling Framework Runtime). The framework was used to develop all UML 2.x diagrams, and countless domain specific diagrams.
Eclipse GMF Notation
The project developed an EMF metamodel for representing and persisting diagram (notational) information. The metamodel was later contributed by IBM to the open source under the name of Eclipse GMF Notation (Graphical Modeling Framework Notation). It was used as the native diagrammatic notation format for RSA, as well as other tools (e.g., Eclipse
EMF ODA Driver
The project developed a component that allows generating Eclipse BIRT (Business Intelligence and Reporting Tools) reports from EMF models as data source. The developed ODA driver allowed for mapping EMF structured data into relational tables using row and column query expressions specified in either OCL™ or XPath™.
Microsoft® Word Document Generator
This project developed a component that allowed for generating Microsoft Word documents from EMF models using template tags placed inside the documents. The tags specify query expressions that get evaluated in the context of a given EMF model. The results of the query replace the tags at document generation time.
Declarative Model Transformations
This project developed a component that allowed for specifying EMF-based model-to-model transformations declaratively using a graphical editor. The editor allowed specification of declarative model transformation rules. The rules were then used to automatically generate an imperative style model-to-model transformation.
Model Verification Analysis
This project developed a component that allowed performing rule-based verification of EMF models. It allowed for expressing rules using multiple formalisms including OCL™, XPath™, and Java Script™. It also allowed specifying human readable result messages that are parametrized with information from the model. It allowed rules to be classified in groups and be given severity. End users can easily configure which rule groups and rules to run using a model verification launch configuration mechanism.
Model Traceability Analysis
This project developed a component that allowed performing traceability analysis across development lifecycle artifacts including requirements, architecture, and source code. The component can be configured to trace specific relationships, that exist or can be defined, within and between those artifacts. The component can be used to perform change impact analysis and the results can be presented in the form of graphs and/or tables, and can be run incrementally.
Model Patterns Analysis
This project developed a component that allows analyzing models by detecting a set of patterns and anti-patterns that are defined declaratively using a formalism with a graphical notation. The formalism allows specifying patterns by composition of smaller patterns. The component was used to detect all issues in the UML 2.4 metamodel using a library of MOF™ based anti-patterns. It was also used to harvest GoF design patterns in UML models. The GoF patterns were specified using a library of foundational micro-patterns defined on the structure and behavior diagrams of UML.
Development was done in Java™ using Eclipse technologies (e.g., PDE, GEF, EMF, BIRT), W3C® technologies (e.g., HTML, XML, SVG) and OMG® technologies (e.g., MOF, XMI, OCL, QVT).