Any serious tool should ensure version synchronization
306 GENERATOR DEFINITION
between models and modeling language. This leaves version synchronization
between code ?¬?les, which is somewhat harder as these are normally pushed out away
from the safety of the tool.A good idea is to make the generator output into the ?¬?le the
version information from all three sources: generator version, modeling language
version, and model version.
Wherever possible, all the generated ?¬?les needed to build an application should be
produced at once, guaranteeing their version consistency. This is one of the additional
bene?¬?ts of a fully automated autobuild. Where that is not possible, one solution is
simply to rely on the developers to do the right thing when linking together output
from several generation runs. This, after all, is what has been the practice when hand
coding??”or indeed the situation was far worse, as different developers wrote different
kinds of code for the same task based on a whole variety of personal and historical
reasons.
The automated inclusion of version information by the generators does however
also make it possible to reliably compare versions and ensure whatever level of
correctness seems desirable.
FIGURE 11.2 Coupling between modeling language, generators, and frameworks
PROCESS 307
11.
Pages:
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576