Databases Reference
In-Depth Information
GME is the only environment that provides support for meta-model composition and
meta-model libraries.
Constraint management : Dome and MetaEdit+ have some built-in support for certain
types of frequently used constraints. GME, on the other hand, has a full-featured constraint
manager supporting OCL, a standard constraint language. Constraints can also be associated
with editing events and priorities, making constraint management interactive and fl exible.
Visualization : While MetaEdit+ provides an impressive built-in symbol editor, GME
and Dome provide only the choice of simple built-in symbols and bitmap fi les provided by
the user, and rely on user-defi ned drawing routines for more complex visualization. While
this user-defi ned visualization can be very powerful and fl exible, their implementation obvi-
ously requires some traditional programming skills from the user.
Extensibility : The interface to Dome models is primarily through its Alter language,
a Scheme variant. MetaEdit+ only supports a proprietary scripting language to access the
models. On the other hand, the component-based architecture of GME makes it easily exten-
sible. Meta and model information are all available through public COM interfaces. Events
are also exposed through COM. When any component makes a change to the models, all
other interested components are notifi ed. The toolset can be extended using any program-
ming language that supports COM (e.g., C++, VB, Python). Furthermore, GME supports
XML export/import for both model and meta-information.
CONCLUSIONS
We presented GME, a framework that enables the rapid development of modeling envi-
ronments. Its powerful meta-modeling capabilities make it possible to create a full-featured
modeling environment in hours. For example, an experienced user could easily create the
simple HFSM environment presented above as an example in well under an hour. Hence,
GME supports the rapid design of modeling languages enabling immediate hands-on experi-
ence with the language. It supports an iterative design method of modeling methodologies;
users can quickly evolve their language design by iteratively modifying the corresponding
meta-model. When the modeling methodology becomes satisfactory then the effort to cre-
ate decorators, add-ons and interpreters is much better justifi ed. Note, however, that typical
domain-specifi c components for GME are relatively small; hence the effort to create the
additional software modules is not prohibitive, even for small projects. For example, an
HFSM simulator that animates the automaton within the GME user interface was written
by a graduate student in a couple of weeks.
The HFSM example presented here is very simplistic for clarity. In our experience,
GME scales very well. The modeling language of MILAN, for example, has hundreds of
modeling concepts. Both MILAN and GRATIS support large model databases. Other large-
scale, real-world applications of the technology are presented in Ledeczi et al. (2001).
The research in confi gurable modeling environments, meta-modeling methodologies
and model visualization continues at our institute. GME is just a refl ection of the current
state-of-the-art of our research. New versions of the software are regularly released multiple
times a year. Ongoing work includes research on generative modeling, automatic interpreter
generation using graph transformations (Agrawal & Karsai, 2003) and integrating GME
into the popular Eclipse framework (Eclipse.org Consortium, 2001).
Search WWH ::




Custom Search