Database Reference
In-Depth Information
Figure 3: GME architecture
concepts for the given paradigm. GMeta confi gures itself by reading the meta-specifi cations
(generated from the metamodels), while GModel uses the services of GMeta for self-con-
fi guration. The GModel component exposes its services through a set of public interfaces
as well. The architecture is based on Microsoft COM technology.
The user interacts with the components at the top of the architecture: the GME User
Interface, the Model Browser, the Constraint Manager, Interpreters and Add-ons. Add-ons are
event-driven interpreters. The GModel component exposes a set of events, such as “Object
Deleted” or “Attribute Changed”, etc. External components can register to receive some
or all of these events. They are automatically invoked by GModel when the events occur.
Add-ons are extremely useful for extending the capabilities of the GME User Interface, for
example. When a particular domain calls for some special operations, these can be supported
by add-ons without modifying any GME components.
Since the event dispatching mechanism is a vital part of the architecture, its performance
has a signifi cant impact on the usability of the overall framework. All external components
own a so-called territory that keeps track of all objects that the component may be interested
in. This repository is automatically maintained based on the object references that GModel
ever handed over to the component. A specifi c event will be propagated to the component
only if the affected object is in the component's territory. This technique reduces the number
of redundant event messages dramatically.
The performance and reliability of the overall system is further improved with the help
of transactions. Model operations — even read-only actions — on the GModel level must
be encapsulated in transactions. Components are receiving events when a transaction begins
and fi nishes; thus they are able to aggregate multiple changes and react to those changes at
the end of the whole transaction. In the case of a read-only transaction, they may discard
all notifi cations.
The framework keeps track of all registered external components and integrates them
into the user interface. Add-ons are automatically started when a project in a supported
Search WWH ::




Custom Search