Domain-Specific Modeling tool Domain-Specific Modeling top 2 logo Domain-Specific Modeling top3 image

 
English Francais Deutsch Japanese
 

Comparing tools?

Automating development with domain-specific modeling involves evaluating existing tools and their features, related costs and availability of supporting services. The criteria below aim to help you in comparing MetaEdit+ with alternative tools that you may have in mind.

Feel free to copy this for making your comparison. Let us know if we missed any relevant features!

Tool features

MetaEdit+

Other tool

Language development

Several integrated modeling languages  
Multiple simultaneous metamodelers  
Language definition tools (metamodeling) Both graphical and form-based  
Integrated metamodeling and modeling
(test the language while defining it simultaneously)
Integrated tools  
Automated language deployment to modelers  
Metamodel coverage for rules and constraints of the language Rule and constraint definition tools
+ generator-based constraints and regular expressions
 
Metamodel checking during language definition  
Traceability between elements of a metamodel Bi-directional: trace who is using the element and what elements are used  
Metamodel evolution Deployed language can be safely changed  
A metamodel specifies one language or multiple languages Both possible  
Automatic models-updating upon metamodel change  
Support for old language versions  
A repository to handle various metamodels Object Repository  
Import and export of metamodels XML and binary formats. These can cover also notation (symbols), constraints and generators  
Library of metamodels  70+ languages available  
Extend UML with stereotypes, tagged values and constraints Possible, but why? Modifying a metamodel gives more power: can also remove unnecessary elements, add new types etc.  

Symbol and representation definition

Specifying notation for the language Draw in Symbol Editor or import symbols  
Rich notation (more than just an icon for nodes and a line for arcs) Symbols for objects, relationships, roles and properties  
Symbols can change based on model data Generator-based symbol elements, conditional symbols, regular expressions, ports in symbol to connect with etc.  
Library of symbols available Several hundred notational elements  
Import (and export) symbols Scalable vector graphics (SVG) and bitmaps supported  
Access and modify notation with any programming language/platform SOAP/Webservices API  
Modeling tool development automated Editors immediately available with icons, menus, toolbars, printing, autolayot, dialogs, custom layouts etc.  

Generator definition

Generator and metamodel are integrated  
Supports straight model-to-code transformations No intermediary formats needed  
Support for templates, visitor pattern, crawlers and multiple streams  
Syntax highlighting and output filtering Generator Editor  
Generator debugging Generator Debugger  
Generated and hand-written code can be separated  
Protected blocks can be defined into the generated result  
Many to many mappings from models to files  
Read and parse external files  

Modeling with your language

Support for different kind of editors Diagram, Matrix and Table editors  
Support for modeling operations (copy/paste, reuse, replace, group, layout, grids, zooms, model hierarchies etc)  
Support for multiple concurrent modelers Multi-user and single-user functionality  
Automatic validation of models based on the metamodel  
Constraints can be checked at modeling time or when wanted Automatically available based on the metamodel or based on model-checking reports  
Link and reuse among models As defined in the metamodels  
Models update automatically if a new language version is available If desired  
Models can be saved and stored using the older language version If desired  
Model browsing tools Various browsers  
Document generation Predefined, customizable generators for RTF/Word and HTML  
Metrics and model checking  
Traceability between model elements  
Import and export of models XML and binary format, includes also representations  
Model-to-model transformation With Generator Editor using XML as intermediary format, or directly using the API  
Access and modify models with any programming language/platform SOAP/Webservices API available for almost any programming language and platform  
Reverse engineering With XML import, API, or generator language (MERL)  
Trace back from generated code to models Live-code function: click the generated code to see the model  
Animate models during program execution
(in IDE, emulator or in real target)
Animate with API  
UML support UML metamodel is one of the many included  

Other

Can be integrated with other tools
(IDE, versioning, emulator, etc).
Easy as based on most commonly applied integration techniques, Webservices/SOAP and XML  
Easy to use and learn  
Other technologies required    
Runs on different platforms Multiple platforms supported, also heterogeneous platform set-up supported  
Manuals available for modeling, metamodeling and sysadmin  

Supporting services

MetaEdit+

Other tool

Maintenance  
Support and helpdesk  
Training services

- DSM creation for experts
- DSM use for modelers
- Organizational change for Q&A, process, management
 
Consulting services