You
don??™t need to ?¬?rst learn concepts and semantics de?¬?ned elsewhere, and you end up
IDENTIFYING AND DEFINING MODELING CONCEPTS 239
with a simpler language de?¬?nition. Also, you know the language better as you de?¬?ned
it. This becomes important later when modifying the language, and also because you
don??™t need to consider changes made by others.
For example, all the languages in Part III were de?¬?ned from scratch rather than by
using existing metamodels or their parts. The only exception here is the mobile phone
case, in which the modeling language used ?¬?rst for the Python framework was used for
generating C++ for another case. It was, however, natural to reuse the already de?¬?ned
metamodel since the domain was practically the same. Modifying an available
language can still be a good approach if the domain addressed is closely related to an
existing language and changes to this language are minor. The Meta Object Facility
(MOF) case in Chapter 6 resembles this situation, but using all theUML class diagram
concepts and then choosing which of them are relevant during individual modeling
situations would be too costly when compared to creating the language from scratch.
Also, much of the class diagram metamodel (template classes, associate classes, etc.)
was unnecessary and would introduce extra complexity for modelers.
Pages:
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434