10.3 FORMALIZING LANGUAGES WITH METAMODELING
As soon as you have identi?¬?ed the relevant parts of the modeling language, you
should formalize it. This is best done by de?¬?ning the metamodel. Formalization into
ametamodel is needed because otherwise the language does not guide the modeling
work and code generation would not be possible (see Section 4.2.4 for details).We
need to emphasize here the difference from the de?¬?nition of UML, which is also
described as a metamodel. The metamodel of UML is a collection of separate,
loosely connected class diagrams that are not instantiated and tested during
language development. Partly for this reason tool vendors implement support for the
languages ofUMLdifferently. They may look the same, but inspection of the details
shows the difference. You can avoid this by using a metamodeling tool that can also
execute the metamodel. The metamodel also serves as a basis for integrating and
sharing the models with other tools in the chain.
10.3.1 Metamodeling Process
Metamodels are often best speci?¬?ed ?¬?rst with just pen and paper in some format. This
usually means drawing a data model showing the modeling concepts and their
connections. Often companies use an entity-relationship diagram or a class diagram in
FORMALIZING LANGUAGES WITH METAMODELING 247
this initial speci?¬?cation.
Pages:
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450