If a class diagram is used, do not specify details, such as
operations of classes and relationships other than associations and inheritance. When
you know the structure to some extent, it is time to de?¬?ne the metamodel.
Metamodeling simply means modeling your language: mapping your domain
concepts to various language elements such as objects, their properties, and their
connections, speci?¬?ed as relationships and the roles that objects play in them. This
process is supported by the metamodeling language which, needless to say, should
itself be a domain-speci?¬?c language for specifying modeling languages. The
metamodeling language depends on theDSMtool you use, but at a minimum it should
allow you to de?¬?ne the concepts of your language, their properties, legal connections
between elements of your language, model hierarchy structures, and correctness
rules. In all but the smallest cases, support for reuse and different model integration
approaches is also essential.
Language for Metamodeling A good metamodeling language guides you
during language de?¬?nition: it allows you to focus on de?¬?ning modeling concepts and
hides the implementation details (howto run it in editors). During metamodeling, you
specify some of the language concepts directly and others by combining some domain
concepts.
Pages:
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451