But since
these operations are not currently needed, supporting them would just take extra
effort with no immediate or long term bene?¬?t.
. Try to minimize the modeling work: Don??™t ask modelers to ?¬?ll properties you
already know or can infer: they can be produced by the generator or provided by
the domain framework. Follow the principle of using convention over
con?¬?guration. For example, in the mobile phone case (Section 8.3.2), the need
to specify cancel navigation is made unnecessary in over 90% of the cases, as a
default target for canceling can be produced by the generator. Still the modeling
language has the concept for specifying the cancel navigation if the default path
is not appropriate.
. Have a precise de?¬?nition for each modeling concept: When de?¬?ning modeling
concepts you need to precisely de?¬?ne what each concept means. This is unlike in
most general-purpose languages, in which semantics are vague and left to every
individual model creator and reader to de?¬?ne. Code generation expects that you
know what you are automating. You should have examples illustrating the
alternative cases, the concepts, and how they behave.
246 DSM LANGUAGE DEFINITION
. Consider language extension possibilities: If the domain is new or it is unclear
whether the de?¬?ned language provides the needed modeling capabilities, you
may add special extension concepts to the language.
Pages:
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448