Database Reference
In-Depth Information
METAMODELING
The metamodeling language is not used for defi ning domain models, but rather for
defi ning domain-modeling languages. Thus, “sentences” in the meta-language defi ne specifi c
domain languages, while “sentences” of the domain language defi ne specifi c systems. GME
follows the standard four-layer modeling architecture.
The GME metamodeling methodology is implemented with GME itself. The meta-
modeling language is just another domain language. The metaspecifi cations that confi g-
ure the GME are generated by the metamodeling interpreter from the metamodels. The
metamodeling language itself is generated by the same interpreter when translating the
meta-metamodels.
At the metamodeling level, GME provides generic modeling primitives that assist an
environment designer in the specifi cation of new modeling environments. These concepts
are directly supported by the framework as stereotypes of the specifi c classes. Elementary
types that do not contain other objects are defi ned as atoms , while models are composite
classes. Associations between these classes are modeled using the connection primitive
that is visualized by the modeling tool as a line between the objects. Connections can only
express relationships between objects at the same hierarchy level or one level deeper with
the help of ports on composite models. References help to overcome this limitation by
enabling the user to associate objects in different model hierarchies. A reference always
refers to exactly one object, which can be of any kind except connection; this establishes a
relationship between the model that contains the reference and the referred object. Connec-
tions and references model relationships between at most two objects. Sets can be used to
specify the relationship among a group of objects. Atoms, models, connections, references
and sets are the fi rst class objects ( FCO
and sets are the fi rst class objects ( ) of the modeling framework.
The language designer can assign different attributes to fi rst class objects. Attributes
are values of predefi ned simple types, such as integer, string, boolean and enumeration. The
meta-attribute defi nes the name, the value type and the default value of the attribute. The
attribute value of an instantiated object is user-changeable at the modeling level.
The framework provides various techniques for managing the complexity of large-
scale models; the most notable concept is the introduction of aspects enabling the domain
users to focus on selected parts of a design. At the metamodeling level, a set of aspects are
assigned to every composite type and the visibility of each contained class can be defi ned
for a given aspect. This powerful construct assisting the modeler in separating the concerns
of multi-perspectives is similar to views in the world of rational databases.
The modeling concepts above can be used only if the environment designer precisely
defi ned them in the metamodel of the paradigm. In our experience, it is often necessary
to associate information chunks without real semantic meaning or strict syntax to objects.
This includes, for example, the specifi cation of visualization information, such as color,
style and icon for an object. Therefore we have added an extensible storage to every FCO,
called the registry. The registry is a tree data structure containing the auxiliary data in the
nodes of the tree. The shape and node names of the tree are not fi xed, in order to provide
extensibility for external tools.
The metamodeling environment provides a powerful set of inheritance operators to
describe specialization and to support metamodel composition. The common inheritance
operator implements the semantics of the standard UML specialization; thus the specialized
child type inherits all of the parent's attributes and can participate in any association the
and sets are the fi rst class objects ( FCO
Search WWH ::




Custom Search