DSML Definition

MetaModelAgent offers a unique UML-based metamodel-notation to be used for defining your own Domain-specific modeling language (DSML).

In a few days you can create a formal definition of your own existing DSML and let MetaModelAgent guide your users in applying the DSML in a consistent and correct way.

But even without any DSML-definition, MetaModelAgent provide you a lot of useful features that will speed up your modeling effort.

Metamodel example

Example of a metamodel representing a DSML-definition for information modeling.

Compliance Monitor

Based on your own DSML-definition, MetaModelAgent will continuously keep track of any violations against the DSML. Any detected violation is presented in a comprehensive Problem View which may be filtered and sorted.

Each violation is explained in detail in a unique Guidance View together with suggestions on how to solve it.

A context menu in the Problem View provides you with quick-fixes making it very easy to correct most of the violations.

Problem View example

The Problem View presents a comprehensive list of all violations against the current DSML.

The Enterprise edition also provides a Java API making it possible to validate your model using your own plug-in or alternatively headless validation initiated from the command-line with output in CSV-format for further post-processing.

By using MetaModelAgent you can be confident that you are using your DSML in a consistent and correct manner.

Interactive Guidance

MetaModelAgent provides unique user interface additions that are adapted to your own DSML-definition, or in the lack of your own DSML, to the UML standard.

The Add Context Menu and Diagram Palette will make sure that you only add the correct kind of elements and only in valid positions in the model.

The Add wizards will guide you in adding correct elements to your model by focusing on significant properties and their expected values. The wizard guides you using decorators, coloring, tooltips and embedded textual guidance.
Mandatory nested elements can be added on consecutive pages in the same wizard, making you really efficient in building a model.

Add Wizard example

The Add Wizard provides a very efficient alternative to add new elements and set their significant properties.

The Property View will guide you in editing significant properties of existing elements according to your DSML-definition by using decorators, coloring, tool-tips and embedded textual guidance.
If you not provide any DSML-definition, the Property View will still be useful by guide you in using UML element properties in a proper way.

Property View example

The Property View will guide you in editing valid property values.

The Guidance View will act upon any selection in the UI and display comprehensive accurate guidelines generated from the DSML-definition, for all parts of your current model, optionally together with your own written guidelines. Pictures, samples, videos and other multimedia may be added based upon your need.

If you do not have any DSML-definition of your own, MetaModelAgent will display extensive standard UML guidance extracted from the open-source Eclipse MDT/UML-project.

Guidance View example

The Guidance View provides an embedded web browser that always display accurate guidelines upon your selection in the workbench

The interactive guidance provided by MetaModelAgent will make your DSML-modeling much more efficient and less error prone.

Active Imposer

If you choose to not use the MetaModelAgent additional UI for adding and editing model elements, MetaModelAgent can still ensure that you are compliant with your DSML-definition by supervising your activities and act upon any violation.

Imposer dialog example

The MetaModelAgent Imposer popup-dialog appears when trying to add an element not supported by the DSML-definition.

Model Analyzer

MetaModelAgent provides two unique additional views that simplifies model analysis.

The Property Table View lets you inspect all your elements of the same kind together with their significant properties in an editable table. The table can be filtered and sorted on any column and the content may also be exported to a CSV-file for further post-processing, for example in MS Excel.

Property View Example

The Property Table View displays all occurrences of a specific concept in the model or part of the model.

The Trace Matrix View lets you inspect all your relationships of the same kind in a matrix. You can also use it to detect unwanted duplicates and to find relationships not visible in any diagrams in the model.

Trace Matrix View example

The Trace Matrix View displays all occurrences of relationships in a model.

The Trace Matrix View is an efficient alternative to using diagrams for analyzing relationships in your model. As relationships often get "lost" in the model, the Trace Matrix View will reveal any hidden relationship.

The scope for populating both these views can, based on your selection, be a complete model or a minor subset of a model. The scope can also be automatically linked to your selections in other views.

Web Publish

MetaModelAgent accommodates two integrated web generators.

The Guideline Generator generates a self-contained web-site based on the metamodel containing your DSML-definition. The generated output is an easy-to-navigate online DSML-reference manual that can be published on your intranet and shared to anyone.

The Model Report Generator generates a self-contained web-site based on one or several models, or model subsets. The generated output will provide an exhaustive view of one or more models in a standard web browser, together with extensive cross-references and search facilities.

If using your own DSML-definition, hyperlinks can be established to associated guidelines generated by the Guideline Generator. Otherwise hyperlinks will be generated to built-in standard UML modeling guidelines, extracted from the Eclipse MDT/UML-project.

MetaModelAgent Enterprise edition makes it even more useful by highlighting and explaining DSML-violations in the published models.

Model example

Example of published version of a simple Information Model using the Model Report Generator.

With or without your own DSML-definition, the web generators produce astonishing web-based views of your models and your DSML-definition that can be published anywhere for anyone without any additional license fees.

MetaModelAgent's web generators allows for external users to view and review your models without the need to have access to the modeling tool.

Try the web publisher yourself! Several examples of published models can be found on the demo page.