Unlike in a general-purpose language, a domainspeci
?¬?c language can enforce reuse within the domain and address model integration
where different aspects of the domain are combined into one language or several
integrated languages. In the latter case, the parts of the metamodel are related by
reusing the same elements or linking elements between different languages.
228 DSM LANGUAGE DEFINITION
The identi?¬?cation of the modeling concepts is normally highly iterative and may
need to be repeated several times. You de?¬?nitely can??™t identify all the concepts
immediately and therefore it helps to de?¬?ne languages in stages and try them out by
making example models. The number of iterations depends on many factors: the size
of the domain, its stability, availability of domain knowledge, and the experience of
the language de?¬?ners.
10.2.1 Where to Find Modeling Concepts
Although it may be tempting to use concepts that originate from the code as a starting
point for language de?¬?nition, higher abstraction, and thus better productivity can be
achieved if the modeling concepts are from the nonimplementation concepts. A study
analyzingDSMlanguage creation approaches in over 20 industry cases (Tolvanen and
Kelly, 2005) shows that concepts coming from the look and feel of the system built,
the variability space, and the domain expert??™s concepts lead to higher abstraction than
those originating from generation output.
Pages:
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413