You
may also look at the kinds of rules that the selected model of computations uses.
10.4.2 Modeling Rules
Strict enforcement of domain rules can sometimes con?¬‚ict with the needs of
modeling. While the domain rules as such are obviously correct, they may not always
work well as rules of a language. Usually, this means that the usability of a language
would suffer if domain rules were used as-is.Aclassic example is forcing the removal
of an element, like a relationship, before a new one can be created. While correct by
static domain analysis, it can often be better to temporarily permit the inconsistency,
allowing modelers to see the old information while entering its replacement. Past
information is often useful when creating new model elements.
DEFINING LANGUAGE RULES 251
It may not always be possible to check domain rules in a language. The number of
model elements andmodels, possibly made by other developers at the same time, could
be so large that checking rules after each model manipulation would require too much
time, hindering modeling work. Checking some rules, like uniqueness among all
model elements, can be time consuming or often impossible. It is, therefore, sometimes
better to allow illegal models for a while. For example, checking minimum
cardinalities at modeling time does not normally make sense since it would prevent
modeling work.
Pages:
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457