You will quickly ?¬?nd why
metamodels are simpler and easier to de?¬?ne.
Remember that rules can evolve over time too. Modelers usually require more
expressive power and the domain itself changes. For example, if modelers can??™t
specify some functionality, you may relax a rule and move its checking to the
generator. Alternatively, if unwanted structures or speci?¬?cations that lead to poor
performance are identi?¬?ed, you may always add rules to the language or check the
models before starting the code generation. A DSM tool should then allow updating
the models made with the earlier language version along with the metamodel.
10.5 INTEGRATING MULTIPLE LANGUAGES
A good design language is not isolated from other views modeled with other
languages but is integrated. This is nothing new: the software we develop today for
manipulating data acts in a similar fashion: when a loan application in a bank uses
account numbers, these are not saved separately for this application but are shared
with others, such as the ones managing the accounts, calculating interest ratios, and so
on. Speci?¬?cation data in models is no different: its integration needs to be speci?¬?ed
similarly. You may integrate models specifying different views of the application, or
integrate models to existing code libraries, to other models describing variability, or to
models specifying nonfunctional requirements.
Pages:
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460