Home Concept Features Get Started Prices Demos News Bugs About

DSML Definition

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

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

All documentation needed for creating a metamodel is provided in the tool.

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 simple metamodel representing a subset of a DSML-definition for information modeling.

DSML Usage

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 will be further explained in detail in the Guidance View together with suggestions on how to solve it.

Quick-fixes are available in the context menu, making correction easy.

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 initate validation from your own plug-in. Alternatively headless validation is availabe from a command-window 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

The context sensitive Add sub menu and Diagram Palette will make sure that you only add the correct kind of elements and only in valid positions in the model.

By bringing up the Add Wizard lets you focusing on significant properties and will guide you in setting correct values by using decorators, colors, 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 makes it really fast to add new elements and set valid property values.

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 editing

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.

Embedded Guidelines

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.

Model Analyzer

MetaModelAgent provides four additional unique views that simplifies model analysis.

Element Property Table

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.

Relationship Matrix

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.

Relationship Chain Tree

The Trace Tree View lets you inspect complete relationship chains starting at, or finishing at a specific element. You can easily detect unwanted relationships and circular relationship chains.

Trace Tree View example

The Trace Tree View displays a complete relationship chain starting from an actor.

Overview Charts

The Chart View lets you visualize several aspects of your model in graphical bar charts and scatter charts.

Bar charts can display overviews of property value distribution, relationship complexity and nesting complexity, but also distribution of violations against your modeling rules.

Bar Chart View example

The Chart View displays a bar chart view of nested elements in classes.

Scatter charts can display complexity of incoming an outgoing relationships chains.inspect complete relationship chains starting at, or finishing at a specific element. You can easily detect unwanted relationships and circular relationship chains.

Scatter Chart View example

The Chart View displays a scatter chart of the number of incoming and outgoing relationships for a set of elements.

The scope for populating all 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.