1.2 Metamodeling tools
The modeling language specifications are managed with the
MetaEdit+ Workbench. Workbench provides a simple yet powerful tool suite for
creating and modifying language specifications. The conceptual metamodeling
tools are:
 | Graph
Tool for managing specifications of whole modeling languages (e.g.
WatchApplication diagram or Class Diagram). Modeling languages are composed here
of Object, Relationship, Role and Port types defined with other tools, and rules
defined here on how these can be
connected. |
 | Object
Tool for specifying object types like State or Class that are basic
components of modeling
languages. |
 | Relationship
Tool for specifying the connecting components between object types. Examples
of these relationship types are Transition between States and inheritance
between
Classes. |
 | Role
Tool for specifying how relationship types are connected to the object
types. |
 | Port
Tool for specifying port types, which can be instantiated in the Symbol
Editor for an Object type to give additional semantics to how roles will connect
to objects of that
type. |
 | Property
Tool to create property types, like strings or text fields, used by other
types. |
The following ancillary tools change
the way models made with a modeling language are represented to users, i.e.
their symbols, icons and property dialogs.
 | Symbol
Editor to specify and edit the graphical representation of Object,
Relationship and Role
types. |
 | Icon
Editor to specify an optional representation to replace scaled down symbols
in toolbar and list icons for Object, Relationship and Role types, and to
specify icons for Graph and Port
types. |
 | Dialog
Editor to edit the layout of the dialogs used for editing the properties of
design elements. |
For code and documentation
generation, there are the following tools
 | Generator
Editor to specify code generators, documentation generators and checking
reports for a modeling language.
|
 | MERL
is the language in which these generators are
written. |
 | Generator
Debugger for tracing execution and debugging
generators. |
In addition to these development
tools, there are tools for managing modeling languages and their components.
 | Metamodel
Browser for browsing specifications of modeling languages by the project
they are defined in, showing the types they contain and links between them.
|
 | Type
Manager to export modeling language specifications to other MetaEdit+
repositories, and to remove unwanted
types. |
 | Info
Tool to show information about a given type: which other types it uses, and
which types use it. |
All of these three sets
of tools are also present in the standard version of MetaEdit+. There, however,
the first set of tools only allows viewing existing types, not modification or
creation; the other tools may be used
freely.