For metamodeling, we can apply different kinds of languages, like GOPRR (Kelly
et al., 1996) or MOF (OMG, 2005). If we don??™t formalize and use the language to
support code generation, it does not matter very much how the metamodeling is done.
FollowingDSMphilosophy, a metamodeling language should be made for specifying
languages: it should guide language creation, hide unnecessary details, and provide
support in producing tools that can follow the speci?¬?ed language. In the end, how the
metamodel is speci?¬?ed depends on the tool used. A typical approach is to use a
language to specify a modeling language that is then translated into a format that
con?¬?gures a generic modeling tool.Amore advanced approach is to support modeling
and metamodeling in the same tool, as this supports language creation and language
evolution. More on tools for language creation will be given in Chapter 14.
Use of Metamodels is Widely Spread Metamodeling not only is important in
de?¬?ning languages, but also is advantageous in systematizing and formalizing weakly
de?¬?ned languages, providing a more ???objective??? approach to analyzing and
comparing languages and examining linkages between modeling languages and
programming languages. Metamodeling is also successfully used in building
modeling tools, interfaces between tools (e.
Pages:
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165