Integrating with other environments
MetaEdit+ allows you to build sophisticated tool integration between MetaEdit+ and other tools. Alternative tool integration approaches include:
- Programmatic access to model data and MetaEdit+ functions via API
- Model importing
- Command line parameters for automating MetaEdit+ operations
- Executing external commands via generators
API for programmatic access
The API provides the interface to read, create, and update model elements, as well as control MetaEdit+ for scripting or simulation support. The real-time dynamic link offers many possible uses:
- Simulation: animate models in MetaEdit+ while running code (see example)
- Model transformations: update all models with similar changes
- Diff: compare models and databases (see example)
- Build: unattended code generation from many databases
- Model checking & guidance
The MetaEdit+ API uses the widely supported and open SOAP / Web Services / .NET standard for application integration, making MetaEdit+ functions accessible from almost any programming language (Java, C, C++, C#, Visual Basic, Perl etc.) and platform (Windows 98, NT, 2000, XP; Linux, HP-UX, Solaris etc).
Animating models in MetaEdit+ while running the code
An emulator or a programming environment can use the API to trace or animate model execution. Execution of the code highlights the corresponding model element in MetaEdit+ with a red outline.
Diff: Comparing models
The MetaEdit+ API can generate full information about the models and the data they contain in XML format. With an XML diff tool, model versions can be compared easily. API commands could even be used to highlight changed or added elements.
The example above shows three different kinds of changes. First, a property is modified by changing its value from 'seconds' to 'minutes'. Second, a new 'Start' object and its relationship are added. Third, the old 'Start' object and its relationship have been deleted.


