Accelerated Modeling in an Agile World

MetaModelAgent is a modeling tool extension that makes UML modeling simplier and more accurate. By using MetaModelAgent, a project or organization can define and deploy there own style on how to use UML, e.g. their own Domain-specific Modeling Language (DSML). The users of the modeling tool can than get accurate adaptive support from the tool on how to use the defined DSML.

Key Features

  • Define a UML-based Domain-specific Modeling Language (DSML)
  • Assist developers in the creation of correct UML models according to the DSML
  • Use adapative property views to highlight relevant element properties
  • Use model validator to detect and correct DSML violations
  • Obtain context-sensitive help where you need it when you need it
  • Publish your DSML and your models to facilitate knowledge sharing and reuse


MetaModelAgent is available for:

  • IBM Rational Software Architect, any edition, version 8.0 or higher
  • Open source Papyrus UML, version 1.0
  • Technical details
  • Downloads
  • Demo
  • FAQ

Common model guidelines within an organization are important in order for the developers to be able to read and understand each other’s models. Unfortunately, it is rather difficult to understand model guidelines, as they consist of model structure, name conventions, restrictions in the use of relations, stereotype definitions, element properties etc.
MetaModelAgent offers an alternative and complementary user interface to the modeling facilities in RSA and Papyrus UML, making it simpler to comply with organization specific guidelines, saving time and money.

MetaModelAgent uses organization-defined model guidelines expressed in a so called metamodel. A MetaModelAgent metamodel is an UML-model which describes the guidelines for a specific kind of UML-model. The metamodel expresses all model constructions that should be valid in a model.


By expressing the model guidelines as a metamodel, unambiguous model guidelines are achieved and the risk for inconsistence is minimized. A metamodel is normally developed once, in a project or organization, and can thereafter be used by everyone that has access to MetaModelAgent.

The value of using MetaModelAgent depends highly on the quality of the metamodels. Well defined and documented metamodels are the key to achieve a high value of using MetaModelAgent.


The Rational Software Architect Workbench extended with MetaModelAgent UI additions.


The MetaModelAgent Add Wizard is a guideline and context sensitive wizard for adding new elements. By using the MetaModelAgent Add Wizard you will get support in filling in the correct values of significant properties, you may also add mandatory nested elements in consecutive wizard pages.

MODPROD 2012: Turning a standard UML-modeling tool into a domain-specific modeling tool This is a presentation held at the MODPROD conference in Linköping Sweden in February 2012

UML-Based Domain-Specific Modeling using MetaModelAgent A short paper on the concept of MetaModelAgent

Master Thesis: Meta-Model Guided Error Correction for UML Models A master thesis about automatic meta-model based error correction

Introduction to Metamodels A presentation of the concept of metamodels for representing UML Modeling Guidelines

What is MetaModelAgent?
MetaModelAgent is an add-on to IBM Rational Software Architect that make it possible to define, deploy and use integrated modeling guidelines.

How does MetaModelAgent work?
MetaModelAgent uses modeling guidelines, defined as a metamodel in UML. MetaModelAgent parses those guidelines and provide additional guideline-specific functions to the modeling tool.

What is required to use MetaModelAgent?
MetaModelAgent is a add-on to IBM Rational Software Architect and is supported in all current editions.

Who is the typical user of MetaModelAgent?
Anyone engaged in UML-modeling in IBM Rational Software Architect. It supports developers unfamiliar with UML as well as experienced developers.

How long time does it take to be familiar with MetaModelAgent?
As a user, you will be up and running after a short introduction. If you will produce guidelines and develop metamodels, it takes a couple of days.

Do we need to have our own modeling guidelines to use MetaModelAgent?
MetaModelAgent comes with general UML guidelines that makes it easier to understand and use UML. By defining and deploying our own guidelines you will achieve an efficient modeling tool for your specific modeling tasks.

Do MetaModelAgent force us to change our processes?
MetaModelAgent is process-agnostic. There are no built in rules that force you to use some specific development process. The rules you may add yourself will only be focusing on the resulting model quality not the process create the model.

Can we define and manage the modeling guidelines to be used by MetaModelAgent?
Anyone in your organization can be assigned to define and manage your modeling guidelines. MetaModelAgent comes with complete documentation on how to defined modeling guidelines in form of a metamodel.